summaryrefslogtreecommitdiff
path: root/docs/upgrading/changelog_4_7.html
blob: 7698475ca5c7ac812f5b99efdaf2bd74bf149c5a (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
<?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.7.25 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_7_toc.html" title="Chapter 3. Upgrading Berkeley DB 4.6 applications to Berkeley DB 4.7" />
    <link rel="prev" href="upgrade_4_7_disk.html" title="Upgrade Requirements" />
    <link rel="next" href="upgrade_4_6_toc.html" title="Chapter 4. Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6" />
  </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.7.25 Change Log</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="upgrade_4_7_disk.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 3. Upgrading Berkeley DB 4.6 applications to Berkeley DB 4.7</th>
          <td width="20%" align="right"> <a accesskey="n" href="upgrade_4_6_toc.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_7"></a>Berkeley DB 4.7.25 Change Log</h2>
          </div>
        </div>
      </div>
      <div class="toc">
        <dl>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp289472">Database or Log File On-Disk Format Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp424624">New Features:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp426184">Database Environment Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp427744">Concurrent Data Store Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp426496">General Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp436568">Btree Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idm1148600">Hash Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idm503872">Queue Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idm835064">Recno Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idm1158488">C-specific API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idm1155728">Java-specific API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idm1155440">Direct Persistence Layer (DPL), Bindings and Collections API:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp430784">Tcl-specific API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp440392">RPC-specific Client/Server Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp440648">Replication Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idm625472">XA Resource Manager Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idm635712">Locking Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp442744">Logging Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp444416">Memory Pool Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp431200">Mutex Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp436952">Transaction Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp441392">Utility Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_7.html#idp457544">Configuration, Documentation, Sample Application, 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="idp289472"></a>Database or Log File On-Disk Format Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>The log file format changed in 4.7.</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp424624"></a>New Features:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>The lock manager may now be fully partitioned, improving performance
	on some multi-CPU systems. [#15880]</li>
            <li>Replication groups are now architecture-neutral, supporting
connections between differing architectures (big-endian or
little-endian, independent of structure padding). [#15787] [#15840]</li>
            <li>Java: A new Direct Persistence Layer adds a built-in Plain Old Java Object (POJO)-based
        persistent object model, which provides support for complex object models without
        compromises in performance. For an introduction to the Direct Persistence Layer
	API, see Getting Started with Data Storage. [#15936]</li>
            <li>Add the DB_ENV-&gt;set_intermediate_dir_mode method to support the
	    creation of intermediate directories needed during recovery. [#15097]</li>
            <li>The DB_ENV-&gt;failchk method can now abort transactions for threads,
which have failed while blocked on a concurrency lock.  This
significantly decreases the need for database environment recovery after
thread of control failure.  [#15626]</li>
            <li>Replication Manager clients now can be configured to monitor the
connection to the master using heartbeat messages, in order to promptly
discover connection failures. [#15714]</li>
            <li>The logging system may now be configured to pre-zero log files when
	they are created, improving performance on some systems. [#15758]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp426184"></a>Database Environment Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Restructure aborted page allocation handling on systems without an
ftruncate system call.  This enables the Berkeley DB High Availability
product on systems, which do not support ftruncate. [#15602]</li>
            <li>Fix a bug where closing a database handle after aborting a
transaction which included a failed open of that handle could result in
application failure. [#15650]</li>
            <li>Fix minor memory leaks when closing a private database environment.
	[#15663]</li>
            <li>Fix a bug leading to a panic of "unpinned page returned" if a cursor
was used for a delete multiple times and deadlocked during one of the
deletes. [#15944]</li>
            <li>Optionally signal processes still running in the environment before running
	recovery. [#15984]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="idp427744"></a>Concurrent Data Store 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="idp426496"></a>General Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where closing a database handle after aborting a
transaction which included a failed open of that database handle could
result in application failure. [#15650]</li>
            <li>Fix a bug that could cause panic in a database environment
configured with POSIX-style thread locking, if a database open failed.
[#15662]</li>
            <li>Fix bug in the DB-&gt;compact method which could cause a panic if a
thread was about to release a page while another thread was truncating
the database file.  [#15671]</li>
            <li>Fix an obscure case of interaction between a cursor scan and delete that was prematurely returning DB_NOTFOUND. [#15785]</li>
            <li>Fix a bug in the DB-&gt;compact method where if read-uncommitted was
configured, a reader reading uncommitted data my see an inconsistent
entry between when the compact method detects an error and when it
aborts the enclosing transaction. [#15856]</li>
            <li>Fix a bug in the DB-&gt;compact method where a thread of control
mail fail if two threads are compacting the same section of a Recno
database. [#15856]</li>
            <li>Fix a bug in DB-&gt;compact method, avoid an assertion failure when zero pages
	can be freed. [#15965]</li>
            <li>Fix a bug return a non-zero error when DB-&gt;truncate is called with open cursors. 
	[#15973]</li>
            <li>Fix a bug add HANDLE_DEAD checking for DB cursors. [#15990]</li>
            <li>Fix a bug to now generate errors when DB_SEQUENCE-&gt;stat is called without
	first opening the sequence. [#15995]</li>
            <li>Fix a bug to no longer dereference a pointer into a hash structure, when hash functionality
	    is disabled.  [#16095]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="idp436568"></a>Btree 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="idm1148600"></a>Hash Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where a database store into a Hash database could
self-deadlock in a database environment configured for the Berkeley DB
Concurrent Data Store product, and with a free-threaded DB_ENV or DB
handle. [#15718]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm503872"></a>Queue Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug that could cause a put or delete of a queue element to
	return a DB_NOTGRANTED error, if blocked. [#15933]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm835064"></a>Recno Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Expose db_env_set_func_malloc, db_env_set_func_realloc, and 
	db_env_set_func_free through the Windows API for the DB dll. [#16045]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="idm1158488"></a>C-specific API 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="idm1155728"></a>Java-specific API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where enabling MVCC on a database through the Java API was
	ignored. [#15644]</li>
            <li>Fixed memory leak bugs in error message buffering in the Java API.
	[#15843]</li>
            <li>Fix a bug where Java SecondaryConfig was not setting SecondaryMultiKeyCreator from
	the underlying db handle [OTN FORUM]</li>
            <li>Fix a bug so that getStartupComplete will now return a boolean instead of an int.
	[#16067]</li>
            <li>Fix a bug in the Java API, where Berkeley DB would hang on exit when using replication. [#16142]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm1155440"></a>Direct Persistence Layer (DPL), Bindings and Collections API:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>A new Direct Persistence Layer adds a built-in Plain Old Java Object (POJO)-based persistent object model, which provides support for complex object models without compromises in performance. For an introduction to the Direct Persistence Layer API, see Getting Started with Data Storage. [#15936]</li>
            <li>Fixed a bug in the remove method of the Iterator instances returned by the StoredCollection.iterator method in the collections package. This bug caused ArrayIndexOutOfBoundsException in some cases when calling next, previous, hasNext or hasPrevious after calling remove. (Note that this issue does not apply to StoredIterator instances returned by the StoredCollection.storedIterator method.) This bug was reported in this forum thread: <a class="ulink" href="https://forums.oracle.com/forums/thread.jspa?messageID=2187896" target="_top">https://forums.oracle.com/forums/thread.jspa?messageID=2187896</a> [#15858]</li>
            <li>Fixed a bug in the remove method of the StoredIterator instances returned by StoredCollection.storedIterator method in the collections package. If the sequence of methods next-remove-previous was called, previous would sometimes return the removed record. If the sequence of methods previous-remove-next was called, next would sometimes return the removed record. (Note that this issue does not apply to Iterator instances returned by the StoredCollection.iterator method.) [#15909]</li>
            <li>Fixed a bug that causes a memory leak for applications where many Environment objects are opened and closed and the CurrentTransaction or TransactionRunner class is used.  The problem was reported in this JE Forum thread: <a class="ulink" href="https://forums.oracle.com/forums/thread.jspa?messageID=1782659" target="_top">https://forums.oracle.com/forums/thread.jspa?messageID=1782659</a> [#15444] </li>
            <li>Added StoredContainer.areKeyRangesAllowed method.  Key ranges and the methods
in SortedMap and SortedSet such as subMap and subSet are now explicitly disallowed
for RECNO and QUEUE databases -- they are only supported for BTREE databases. 
Before, using key ranges in a RECNO or QUEUE database did not work, but was not
explicitly prohibited in the Collections API. [#15936] </li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp430784"></a>Tcl-specific API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>The Berkeley DB Tcl API does not attempt to avoid evaluating input
as Tcl commands. For this reason, it may be dangerous to pass unreviewed
user input through the Berkeley DB Tcl API, as the input may
subsequently be evaluated as a Tcl command. To minimize the
effectiveness of a Tcl injection attack, the Berkeley DB Tcl API in the
4.7 release routine resets process' effective user and group IDs to the
real user and group IDs. [#15597]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="idp440392"></a>RPC-specific Client/Server 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="idp440648"></a>Replication Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where a master failure resulted in multiple attempts to
perform a "fast election"; subsequent elections, when necessary, now use
the normal nsites value. [#15099]</li>
            <li>Replication performance enhancements to speed up failover. [#15490]</li>
            <li>Fix a bug where replication could self-block in a database environment
	configured for in-memory logging.  [#15503]</li>
            <li>Fix a bug where replication would attempt to read log file version
	numbers in a database configured for in-memory logging. [#15503]</li>
            <li>Fix a bug where log files were not removed during client
	initialization in a database configured for in-memory logging. [#15503]</li>
            <li>The 4.7 release no longer supports live replication upgrade from the
	4.2 or 4.3 releases, only from the 4.4 and later releases. [#15602]</li>
            <li>Fix a bug where replication could re-request missing records on
	every arriving record. [#15629]</li>
            <li>Change the DB_ENV-&gt;rep_set_request method to use time, not the
number of messages, when re-requesting missed messages on a replication
client. [#15629]</li>
            <li>Fix a minor memory leak on the master when updating a client during
	internal initialization. [#15634]</li>
            <li>Fix a bug where a client error when syncing with a new replication
	group master could result in an inability to ever re-join the group. [#15648]</li>
            <li>Change dbenv-&gt;rep_set_request to use time-based values instead of counters. [#15682]</li>
            <li>Fix a bug where a LOCK_NOTGRANTED error could be returned from the
DB_ENV-&gt;rep_process_message method, instead of being handled
internally by replication. [#15685]</li>
            <li>Fix a bug where the Replication Manager would reject a fresh
connection from a remote site that had crashed and restarted, displaying
the message: "redundant incoming connection will be ignored". [#15731]</li>
            <li>The Replication Manager now supports dynamic negotiation of the best
	available wire protocol version, on a per-connection basis.  [#15783]</li>
            <li>Fix a bug, which could lead to slow performance of internal
initialization under the Replication Manager, as evidenced by "queue limit
exceeded" messages in verbose replication diagnostic output. [#15788]</li>
            <li>Fix a bug where replication control message were not portable between
	replication clients with different endian architectures. [#15793]</li>
            <li>Add a configuration option to turn off Replication Manager's special
	handling of elections in 2-site groups. [#15873]</li>
            <li>Fix a bug making it impossible to call replicationManagerAddRemoteSite
	in the Java API after having called replicationManagerStart. [#15875]</li>
            <li>Fix a bug where the DB_EVENT_REP_STARTUPDONE event could be
	triggered too early.  [#15887]</li>
            <li>Fix a bug where the rcvd_ts timestamp is reset when the user just changes the threshold.
[#15895]</li>
            <li>Fix a bug where the master in a 2-site replication group might wait
for client acknowledgement, even when there was no client connected.
[#15927]</li>
            <li>Fix a bug, clean up and restart internal init if master log is gone.
	[#16006]</li>
            <li>Fix a bug, ignore page messages that are from an old internal init. 
	[#16075] [#16059]</li>
            <li>Fix a bug where checkpoint records do not indicate a database was a named in-memory
database. [#16076]</li>
            <li>Fix a bug with in-memory replication, where we returned with the log region mutex
held in an error path, leading to self-deadlock. [#16088]</li>
            <li>Fix a bug which causes the DB_REP_CHECKPOINT_DELAY setting in rep_set_timeout()
to be interpreted in seconds, rather than microseconds. [#16153]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm625472"></a>XA Resource Manager Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where the DB_ENV-&gt;failchk method and replication in
	general could fail in database environments configured for XA. [#15654]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idm635712"></a>Locking Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug causing a lock or transaction timeout to not be set
properly after the first timeout triggers on a particular lock id.
[#15847]</li>
            <li>Fix a bug that would cause a trap if DB_ENV-&gt;lock_id_free was passed an
	invalid locker id. [#16005]</li>
            <li>Fix a bug when thread tracking is enabled where an attempt is made to 
	release a mutex that is not lock. [#16011]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp442744"></a>Logging Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug, handle zero-length log records doing HA sync with
	in-memory logs. [#15838]</li>
            <li>Fix a bug that could cause DB_ENV-&gt;failcheck to leak log region
	memory. [#15925]</li>
            <li>Fix a bug where the abort of a transaction that opened a database
	could leak log region memory. [#15953]</li>
            <li>Fix a bug that could leak memory in the DB_ENV-&gt;log_archive interface if
	a log file was not found. [#16013]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp444416"></a>Memory Pool Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix multiple MVCC bugs including a race, which could <span class="emphasis"><em>result in
		incorrect data being returned</em></span> to the application. [#15653]</li>
            <li>Fixed a bug that left an active file in the buffer pool after a
	database create was aborted. [#15918]</li>
            <li>Fix a bug where there could be uneven distribution of pages if a single database
	and multiple cache regions are configured. [#16015]</li>
            <li>Fix a bug where DB_MPOOLFILE-&gt;set_maxsize was dropping the wrong
	mutex after open. [#16050] </li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp431200"></a>Mutex Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where mutex contention in database environments configured
for hybrid mutex support could result in performance degradation.
[#15646]</li>
            <li>Set the DB_MUTEX_PROCESS_ONLY flag on all mutexes in private environments,
they can't be shared and so we can use the faster, intra-process only mutex 
implementations [#16025]</li>
            <li>Fix a bug so that mutexes are now removed from the environment signature if
	mutexes are disabled. [#16042]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp436952"></a>Transaction Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug that could cause a checkpoint to selfblock attempting to
flush a file, when the file handle was closed by another thread during
the flush. [#15692]</li>
            <li>Fix a bug that could cause DB_ENV-&gt;failcheck to hang if there
	were pending prepared transactions in the environment. [#15925]</li>
            <li>Prepared transactions will now use the sync setting from the environment. 
Default to flushing the log on commit (was nosync). [#15995]</li>
            <li>If __txn_getactive fails, we now return with the log region mutex held.  This
is not a bus since __txn_getactive cannot really fail.  [#16088]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp441392"></a>Utility Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Update db_stat with -x option for mutex stats</li>
            <li>Fix an incorrect assumption about buffer size when getting an overflow page in db_verify. [#16064]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp457544"></a>Configuration, Documentation, Sample Application, Portability and Build Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix an installation bug where the Berkeley DB PHP header file was
	not installed in the correct place.</li>
            <li>Merge the run-time configuration sleep and yield functions. [#15037]</li>
            <li>Fix Handle_DEAD and other expected replication errors in the
	C++ sample application ReqQuoteExample.cpp. [15568]</li>
            <li>Add support for monotonic timers. [#15670]</li>
            <li>Fix bugs where applications using the db_env_func_map and
db_env_func_unmap run-time configuration functions could not join
existing database environments, or open multiple DB_ENV handles for a
single environment. [#15930]</li>
            <li> Add documentation about building Berkeley DB for VxWorks 6.x.</li>
            <li>Remove the HAVE_FINE_GRAINED_LOCK_MANAGER flag, it is obsolete in 4.7.</li>
            <li>Fix a bug in ex_rep, add a missing break which could cause a segment fault.</li>
            <li>Fix build warnings from 64 bit Windows build. [#16029]</li>
            <li>Fix an alignment bug on ARM Linux.  Force the assignment to use memcpy. 
[#16125]</li>
            <li>Fix a bug in the Windows specific code of ex_sequence.c, where there was an invalide
printf specifier.  [#16131]</li>
            <li>Improve the timer in ex_tpcb to use high resolution timers.  [#16154]</li>
            <li>Mention in the documentation that env-&gt;open() requires DB_THREAD to be specified when using repmgr.
[#16163]</li>
            <li>Disable support for mmap on Windows CE.  The only affect is that we do not
attempt to mmap small read only databases into the mpool. [#16169]</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_7_disk.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="upgrade_4_7_toc.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="upgrade_4_6_toc.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"> Chapter 4. Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6</td>
        </tr>
      </table>
    </div>
  </body>
</html>