summaryrefslogtreecommitdiff
path: root/docs/upgrading/changelog_4_4_16.html
blob: a511f1dbcd95884cb2005ab3bac1b88e04082525 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Berkeley DB 4.4.16 Change Log</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Upgrade Guide" />
    <link rel="up" href="upgrade_4_4_toc.html" title="Chapter 6. Upgrading Berkeley DB 4.3 applications to Berkeley DB 4.4" />
    <link rel="prev" href="upgrade_4_4_disk.html" title="Upgrade Requirements" />
    <link rel="next" href="changelog_4_4_20.html" title="Berkeley DB 4.4.20 Change Log" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 12.1.6.1</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Berkeley DB 4.4.16 Change Log</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="upgrade_4_4_disk.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 6. Upgrading Berkeley DB 4.3 applications to Berkeley DB 4.4</th>
          <td width="20%" align="right"> <a accesskey="n" href="changelog_4_4_20.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="changelog_4_4_16"></a>Berkeley DB 4.4.16 Change Log</h2>
          </div>
        </div>
      </div>
      <div class="toc">
        <dl>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp638728">Database or Log File On-Disk Format Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp625784">New Features:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp626168">Database Environment Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp629304">Concurrent Data Store Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp635128">General Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp652792">Btree Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp638792">Hash Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp640664">Queue Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp641744">Recno Access Method Changes</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp640880">C++-specific API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp642976">Java-specific API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp663688">Java collections and bind API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp647264">Tcl-specific API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp632344">RPC-specific Client/Server Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp652880">Replication Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp637728">XA Resource Manager Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp657192">Locking Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp657480">Logging Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp678376">Memory Pool Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp659976">Transaction Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp660400">Utility Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_4_16.html#idp663776">Configuration, Documentation, Portability and Build Changes:</a>
            </span>
          </dt>
        </dl>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp638728"></a>Database or Log File On-Disk Format Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>The on-disk log format has changed.</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp625784"></a>New Features:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Add support to compact an existing Btree database. [#6750]</li>
            <li>Add support for named in-memory databases. [#9927]</li>
            <li>Add support for database environment recovery serialization.  This
simplifies multiprocess application architectures. Add DB_REGISTER flag
to DB_ENV-&gt;open(). [#11511]</li>
            <li>Add utility for performing hot backups of a database environment.
	[#11536]</li>
            <li>Add replication configuration API. [#12110]</li>
            <li>Add replication support to return error instead of waiting for
	client sync to complete. [#12110]</li>
            <li>Add replication support for delayed client synchronization. [#12110]</li>
            <li>Add replication support for client-to-client synchronization.
	[#12110]</li>
            <li>Add replication support for bulk transfer. [#12110]</li>
            <li>Add new flags DB_DSYNC_DB and DB_DSYNC_LOG [12941]</li>
            <li>Add DbEnv.log_printf, a new DbEnv method which logs printf style
formatted strings into the Berkeley DB database environment log.
[#13241]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp626168"></a>Database Environment Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Add a feature to support arbitrary alignment of mutexes in order to
	minimize cache line collisions. [#9580]</li>
            <li>Change cache regions on 64-bit machines to allow regions larger than
	4GB. [#10668]</li>
            <li>Fix a bug where a loop could occur if the application or system
failed during modification of the linked list of shared regions.
[#11532]</li>
            <li>Fix mutex alignment on Linux/PA-RISC, add test-and-set mutexes for
	MIPS and x86_64. [#11575]</li>
            <li>Fix a bug where private database environments (DB_PRIVATE) on 64-bit
	machines would core dump because of 64-bit address truncation. [#11983]</li>
            <li>Fix a bug where freed memory is accessed when DB_PRIVATE
environments are closed.  This can happen on systems where the operating
system holds mutex resources that must be freed when the mutex is
destroyed. [#12591]</li>
            <li>Fix a bug where the DbEnv.stat_print method could self-deadlock and
hang.  The DbEnv.stat_print method no longer displays statistics for any
of the database environments databases. [#12039]</li>
            <li>Fix a bug where Berkeley DB could create fragmented
	filesystem-backed shared region files. [#12125]</li>
            <li>Fix a bug where Berkeley DB stat calls could report a cache size of
	0 after the statistics were cleared. [#12307]</li>
            <li>Threads of control joining database environments are now configured
for all of the subsystems (lock, log, cache, or transaction) for which
the environment was originally configured, it is now an error to attempt
configuration of additional subsystems after an environment is created.
[#12422]</li>
            <li>Fix a bug where negative percentages could be displayed in
	statistics output. [#12673]</li>
            <li>Fix a bug that could cause a panic if the cache is filled with
	non-logging updated pages. [#12763]</li>
            <li>Fix a bug that could cause an unreported deadlock if the application
was using the DB_DIRTY_READ flag and the record was an off page
duplicate record. [#12893]</li>
            <li>Fix a bug where a handle lock could be incorrectly retained during
	a delete or rename operation. [#12906]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp629304"></a>Concurrent Data Store Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Lock upgrades and downgrades are now accounted for separately from
	lock requests and releases. [#11155]</li>
            <li>Fix a bug where a second process joining a Concurrent Data Store
environment, with the DB_CDB_ALLDB flag set, would fail.  This would
happen if the first thread were not entirely finished with
initialization. [#12277]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp635128"></a>General Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where filesystem operations are improperly synchronized.
	[#10564]</li>
            <li>Add support for database files larger than 2GB on Windows. [#11839]</li>
            <li>Rename DB_DEGREE_2 (and all related flags) to DB_READ_COMMITTED.
	Rename DB_DIRTY (and all related flags) to DB_READ_UNCOMMITTED. [#11776]</li>
            <li>Fix a bug where wrapping of sequences was incorrect when the cache
size is smaller than the range of the maximum value minus the minimum
value.  [#11997]</li>
            <li>Fix a bug that could result in a hot backup having a page missing
from a database file if a file truncation was in progress during the
backup but was then aborted. [#12017]</li>
            <li>Fix a bug where a long filename could cause one too few bytes to
	be allocated when opening a file. [#12085]</li>
            <li>Fix a bug in secondary cursor code if a write lock is not granted.
	[#12109]</li>
            <li>Fix a bug in secondary cursors where the current record would change
	on error. [#12141]</li>
            <li>Fix a bug in Db-&gt;truncate where the method was not checking to see
	if the handle was opened read-only. [#12179]</li>
            <li>Fix a bug in sequences so that they are now platform independent,
taking into account little-endian and big-endian architectures. They
will be automatically upgraded in 4.4. [#12202]</li>
            <li>Fix a bug with non-wrapping sequences when initial value was
	INT64_MIN. [#12390]</li>
            <li>Add a retry for operating system operations that return EIO (IO
	Error) to better support NFS mounted filesystems. [#12426]</li>
            <li>Fix sequence wrapping at INT64 limits. [#12520]</li>
            <li>Fix a bug where errors during DB-&gt;associate could leave secondaries
	half associated. [#13173]</li>
            <li>Fix a bug so that we no longer will update in CDS and DS if the file
	size limit will be exceeded. [#13222]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp652792"></a>Btree Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Remove maxkey configuration. [#8904]</li>
            <li>Fix a memory leak in operations on large Btrees. [#12000]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp638792"></a>Hash Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where access to HASH or encrypted database pages might be
	blocked during a checkpoint. [#11031]</li>
            <li>Fix a bug where recovery would fail when a database has a hash page
on the free list and that hash page was freed without using transactions
and later allocated and aborted within a transaction. [#11214]</li>
            <li>Fix a bug in hash duplicates where if the caller left garbage in the
partial length field, we were using it.  Fix a bug where a replacement
of a hash item that should have gone on an overflow page, did not.
[#11966]</li>
            <li>Fix a bug where free space was miscalculated when adding the first
duplicate to an existing item and the existing item plus the new item
does not fit on a page. [#12270]</li>
            <li>Fix a bug where allocations of hash buckets are not recovered
	correctly. [#12846]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp640664"></a>Queue Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Improve performance of deletes from a QUEUE database that does not
	have a secondary index. [#11538]</li>
            <li>Fix a bug where updates that do not use transactions, but do enable
	locking,  failed to release locks. [#11669]</li>
            <li>Fix a bug where a transaction might not be rolled forward if the
site was performing hot backups and an application aborted a prepared
but not committed transaction. [#12181]</li>
            <li>Fix a bug with queue extents not being reclaimed. [#12249]</li>
            <li>Fix a bug where a record being inserted before the head of the queue
	could appear missing if DB_CONSUME is not specified. [#12919]</li>
            <li>Fix a bug that might cause recovery to move the head or tail of the
queue to exclude a record that was deleted but whose transaction did not
commit. [#13256]</li>
            <li>Fix a bug that could cause recovery to move the head or tail pointer
beyond a record that was aborted but was rolled backward by recovery.
[#13318]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="idp641744"></a>Recno Access Method Changes</h3></div></div></div>

None.
</div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp640880"></a>C++-specific API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug so that a DbMemoryException will be raised during a
	DB_BUFFER_SMALL error. [#13273]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp642976"></a>Java-specific API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Add VersionMismatchException to map the DB_VERSION_MISMATCH error.
	[#11429]</li>
            <li>Fix a bug in Environment.getConfiguration() method in non-crypto
	builds. [#11752]</li>
            <li>Fix a bug that caused a NullPointerException when using the
	MultipleDataEntry default constructor. [#11753]</li>
            <li>Fix handling of replication errors. [#11822]</li>
            <li>Remove EnvironmentConfig.setReadOnly() method. [#11882]</li>
            <li>Fix a bug where prefix strings in the error handler may be
	corrupted. [#11967]</li>
            <li>Fix a bug so that nested exceptions will appear in stack traces.
	[#11992]</li>
            <li>Fix a bug on LogSequenceNumber objects in the Java API. [#12223]</li>
            <li>Fix a bug when no files are returned from a call to
	DB_ENV-&gt;log_archive.  [#12383]</li>
            <li>Fix a bug when multiple verbose flags are set. [#12383]</li>
            <li>Fix a bug so that an OutOfMemoryError is thrown when allocation
	fails in the JNI layer. [#13434]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp663688"></a>Java collections and bind API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Binding performance has been improved by using System.arraycopy in
	the FastOutputStream and FastInputStream utility classes. [#12002]</li>
            <li>The objectToEntry method is now implemented in all TupleBinding
subclasses (IntegerBinding, etc) so that tuple bindings are fully
nestable. An example of this usage is a custom binding that dynamically
discovers the data types of each of the properties of a Java bean class.
For each property, it calls TupleBinding.getPrimitiveBinding using the
property's type (class). When the custom binding's objectToEntry method
is called, it in turn calls the objectToEntry method of the nested
bindings for each property. [#12124]</li>
            <li>The getCause method for IOExceptionWrapper and
RuntimeExceptionWrapper is now defined so that nested exceptions appear
in stack traces for exceptions thrown by the collections API. [#11992]</li>
            <li>TupleBinding.getPrimitiveBinding can now be passed a primitive type
class as well as a primitive wrapper class. The return value for
Integer.TYPE and Integer.class, for example, will be the same binding.
[#12035]</li>
            <li>Improvements have been made to prevent the buffer used in serial and
tuple bindings from growing inefficiently, and to provide more
alternatives for the application to specify the desired size. For
details see com.sleepycat.bind.serial.SerialBase and
com.sleepycat.bind.tuple.TupleBase. [#12398]</li>
            <li>Add StoredContainer.getCursorConfig, deprecate isDirtyRead.
Deprecate StoredCollections.dirtyReadMap (dirtyReadSet, etc) which is
replaced by configuredMap (configuredSet, etc). Deprecated
StoredContainer.isDirtyReadAllowed with no replacement (please use
DatabaseConfig.getDirtyRead). Also note that
StoredCollections.configuredMap (configuredSet, etc) can be used to
configure read committed and write lock containers, as well as read
uncommitted containers, since all CursorConfig properties are supported.
[#11776]</li>
            <li>Add the protected method SerialBinding.getClassLoader so that
subclasses may return a specific or dynamically determined class loader.
Useful for applications which use multiple class loaders, including
applications that serialize Groovy-defined classes. [#12764] [#12749]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp647264"></a>Tcl-specific API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug that could cause a memory leak in the replication test
	code. [#13436]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp632344"></a>RPC-specific Client/Server Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix double-free in RPC server when handling an out-of-memory error.
	[#11852]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp652880"></a>Replication Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix race condition (introduced in 4.3) in rep_start function.
	[#11030]</li>
            <li>Changed internal initialization to no longer store records. [#11090]</li>
            <li>Add support for replication bulk transfer. [#11099]</li>
            <li>Berkeley DB now calls check_doreq function for MASTER_REQ messages.
	[#11207]</li>
            <li>Fix a bug where transactions could be counted incorrectly during
	txn_recover. [#11257]</li>
            <li>Add DB_REP_IGNORE flag so that old messages (especially PERM
	messages) can be ignored by applications. [#11585]</li>
            <li>Fix a bug where op_timestamp was not initialized. [#11795]</li>
            <li>Fix a bug in db_refresh where a client would write a log record on
	closing a file. [#11892]</li>
            <li>Fix backward arguments in C++ rep_elect API. [#11906]</li>
            <li>Fix a bug where a race condition could happen between downgrading a
	master and a database update operation. [#11955]</li>
            <li>Fix a bug on VERIFY_REQ. We now honor wait recs/rcvd. [#12097]</li>
            <li>Fix a bug in rebroadcast of verify_req by initializing lp-&gt;wait_recs
	when finding a new master. [#12097]</li>
            <li>Fix a bug by adding lockout checking to __env_rep_enter since
	rename/remove now call it. [#12192]</li>
            <li>Fix a bug so that we now skip __db_chk_meta if we are a rep client.
	[#12316]</li>
            <li>Fix a replication failure on Windows. [#12331]</li>
            <li>Remove master discovery phase from rep_elect as a performance
	improvement to speed up elections. [#12551]</li>
            <li>Fix a bug to avoid multiple data streams when issuing al ALL_REQ.
	[#12595]</li>
            <li>Fix a bug to request the remaining gap again if the gap record is
	dropped after we receive the singleton. [#12974]</li>
            <li>Fix a bug in internal initialization when master changes in the
	middle of initializing. [#13074]</li>
            <li>Fix a bug in replication/archiving with internal init. [#13110]</li>
            <li>Fix pp handling of db_truncate. [#13115]</li>
            <li>Fix a bug where rep_timestamp could be updated when it should not
	be updated. [#13331]</li>
            <li>Fix a bug with bulk transfer when toggling during updates. [#13339]</li>
            <li>Change EINVAL error return to DB_REP_JOIN_FAILURE. [#12110]</li>
            <li>Add C++ exception for DB_REP_HANDLE_DEAD. [#13361]</li>
            <li>Fix a bug where starting an election concurrently with processing a
NEWMASTER message could cause the send function to be called with an
invalid eid. [#13403]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="idp637728"></a>XA Resource Manager Changes:</h3></div></div></div>

None.
</div>
      <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="idp657192"></a>Locking Subsystem Changes:</h3></div></div></div>

None.
</div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp657480"></a>Logging Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Add set_log_filemode for applications that need to set an absolute
	file mode on log files. [#8747]</li>
            <li>Fix a bug that caused Not Found to be returned if a log file exists
	but is not readable. [#11185]</li>
            <li>Removed checksum of records with an in-memory log buffer. [#11280]</li>
            <li>Fix a bug so that the DB_LOG_INMEMORY flag can no longer be set
	after calling DB_ENV-&gt;open. [#11436]</li>
            <li>Fix a bug introduced after release 4.0 where two simultaneous
	checkpoints could cause ckp_lsn values to be out of order. [#12094]</li>
            <li>Fix a bug when in debug mode and using the DEBUG_ROP which will now
	log read operations in __dbc_logging. [#12303]</li>
            <li>Fix a bug where failing to write a log record on a file close would
	result in a core dump later. [#12460]</li>
            <li>Fix a bug where automatic log file removal, or the return of log
files using an absolute path, could fail silently if the applications
current working directory could not be reached using the systems getcwd
library call. [#12505]</li>
            <li>Avoid locking the log region if we are not going to flush the log.
This can improve performance for some write-intensive application
workloads. [#13090]</li>
            <li>Fix a bug with a possible segment fault when memp_stat_print is
	called on a temporary database. [#13315]</li>
            <li>Fix a bug where log_stat_print could deadlock with threads during a
	checkpoint. [#13315]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp678376"></a>Memory Pool Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where modified database pages might not be flushed if
recovery were run and all pages from a database were found in the system
cache and up to date, followed by a system crash. [#11654]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp659976"></a>Transaction Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Add new DbTxn class methods allowing applications to set/get a
descriptive name associated with a transaction.  The descriptive name
is also displayed by the db_stat utility. [#0382]</li>
            <li>Fix a bug where aborting a transaction with a large number of nested
	transactions could take a long time. [#10972]</li>
            <li>Add support to allow the TXN_WRITE_NOSYNC flag to be specified on
	the transaction handle. [#11151]</li>
            <li>Fix a bug that could cause a page to be on the free list twice if
it was originally put on the free list by a non-transactional update and
then reallocated in a transaction that aborts. [#11159]</li>
            <li>Remove the requirement for the DB_AUTO_COMMIT flag to make database
operations transactional. Specifying the database environment as
transactional or opening the database handle transactionally is
sufficient. [#11302]</li>
            <li>Fix a bug so that environments created from errant programs that
called dbp-&gt;close while transactions were still active can now be
recovered. [#11384]</li>
            <li>Fix a bug that caused free pages at the end of a file to be
truncated during recovery rather than placed on the free page list.
[#11643]</li>
            <li>Fix a bug that caused a page to have the wrong type if the truncate
	of a BREE or RECNO database needed to be rolled forward. [#11670]</li>
            <li>Fix a bug when manually undoing a subdb create, dont try to free a
	root page that has not been allocated. [#11925]</li>
            <li>Add a check on database open to see if log files were incorrectly
	removed by system administration mistakes. [#12178]</li>
            <li>Fix a bug when calling DB-&gt;pget and then specifying the
DB_READ_COMMITTED (DB_DEGREE_2) on a cursor.  If followed by a
DBC-&gt;c_pget, the primary database would incorrectly remain locked.
[#12410]</li>
            <li>Fix a bug where the abort of a transaction in which a sub database
	was opened with the DB_TXN_NOT_DURABLE flag could fail. [#12420]</li>
            <li>Fix a bug that could cause an abort transaction that allocated new
pages to a file that were not flushed to disk prior to the abort
transaction to report out of disk space. [#12743]</li>
            <li>Fix a bug that could prevent multiple creates and destroys of the
	same file to be recovered correctly. [#13026]</li>
            <li>Fix a bug when recovery previously handled a section of the log that
	did not contain any transactions. [#13139]</li>
            <li>Fix a bug that could result in the loss of durability in
	Transactional Environments on Mac OS X. [#13149]</li>
            <li>Fix a bug that could cause the improper reuse of a transaction id
	when recovery restores prepared transactions. [#13256]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp660400"></a>Utility Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Add utility for performing hot backups of a database environment.
	[#11536]</li>
            <li>Change the Verify utility to now identify any nodes that have
	incorrect record counts. [#11934]</li>
            <li>Fix a bug in the 1.85 compatibility code supporting per-application
Btree comparison and prefix compression functions.  The functions would
not work on big-endian 64-bit hardware. [#13316]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp663776"></a>Configuration, Documentation, Portability and Build Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Change the ex_tpcb sample application to no longer displays
intermediate results.  It displays results at the end of the run.
[#11259]</li>
            <li>Change the Visual Studio projects on Windows so that each is in an
	intermediate directory. [#11441]</li>
            <li>Fix errors in test subdb011. [#11799]</li>
            <li>Fix a bug that could cause applications using gcc on Power PC
	platforms to hang. [#12233]</li>
            <li>Fix a bug where installation will fail if a true program cannot be
	found. [#12278]</li>
            <li>Fix a bug that prevented C++ applications from configuring XA
	[#12300].</li>
            <li>Fix a race condition in the Windows mutex implementation found on
	8-way Itanium systems.  [#12417]</li>
            <li>Add pthread mutex support for IBM OS/390 platform (z/OS or MVS).
	[#12639]</li>
            <li>Fix a bug where the Tcl API did not configure on OS X 10.4. [#12699]</li>
            <li>Fix portability issues with queue or recno primary databases.
	[#12872]</li>
            <li>Fix a bug where utility attempted to send replication message.
	[#13446]</li>
          </ol>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="upgrade_4_4_disk.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="upgrade_4_4_toc.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="changelog_4_4_20.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Upgrade Requirements </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Berkeley DB 4.4.20 Change Log</td>
        </tr>
      </table>
    </div>
  </body>
</html>