1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>Berkeley DB 4.8.30 Change Log</title> 7 <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> 9 <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> 10 <link rel="up" href="upgrade_4_8_toc.html" title="Chapter��45.��Upgrading Berkeley DB 4.7 applications to Berkeley DB 4.8" /> 11 <link rel="prev" href="upgrade_4_8_disk.html" title="Release 4.8: Upgrade Requirements" /> 12 <link rel="next" href="test.html" title="Chapter��46.�� Test Suite" /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">Berkeley DB 4.8.30 Change Log</th> 19 </tr> 20 <tr> 21 <td width="20%" align="left"><a accesskey="p" href="upgrade_4_8_disk.html">Prev</a>��</td> 22 <th width="60%" align="center">Chapter��45.��Upgrading Berkeley DB 4.7 applications to Berkeley DB 4.8</th> 23 <td width="20%" align="right">��<a accesskey="n" href="test.html">Next</a></td> 24 </tr> 25 </table> 26 <hr /> 27 </div> 28 <div class="sect1" lang="en" xml:lang="en"> 29 <div class="titlepage"> 30 <div> 31 <div> 32 <h2 class="title" style="clear: both"><a id="changelog_4_8"></a>Berkeley DB 4.8.30 Change Log</h2> 33 </div> 34 </div> 35 </div> 36 <div class="toc"> 37 <dl> 38 <dt> 39 <span class="sect2"> 40 <a href="changelog_4_8.html#id1655543"> 41Changes between 4.8.26 and 4.8.30:</a> 42 </span> 43 </dt> 44 <dt> 45 <span class="sect2"> 46 <a href="changelog_4_8.html#id1655588"> 47Known bugs in 4.8 </a> 48 </span> 49 </dt> 50 <dt> 51 <span class="sect2"> 52 <a href="changelog_4_8.html#id1655727"> 53Changes between 4.8.24 and 4.8.26:</a> 54 </span> 55 </dt> 56 <dt> 57 <span class="sect2"> 58 <a href="changelog_4_8.html#id1655844"> 59Changes between 4.8.21 and 4.8.24:</a> 60 </span> 61 </dt> 62 <dt> 63 <span class="sect2"> 64 <a href="changelog_4_8.html#id1655898"> 65Changes between 4.7 and 4.8.21:</a> 66 </span> 67 </dt> 68 <dt> 69 <span class="sect2"> 70 <a href="changelog_4_8.html#id1655904"> 71Database or Log File On-Disk Format Changes:</a> 72 </span> 73 </dt> 74 <dt> 75 <span class="sect2"> 76 <a href="changelog_4_8.html#id1655609"> 77New Features:</a> 78 </span> 79 </dt> 80 <dt> 81 <span class="sect2"> 82 <a href="changelog_4_8.html#id1655816"> 83Database Environment Changes:</a> 84 </span> 85 </dt> 86 <dt> 87 <span class="sect2"> 88 <a href="changelog_4_8.html#id1655970"> 89Concurrent Data Store Changes:</a> 90 </span> 91 </dt> 92 <dt> 93 <span class="sect2"> 94 <a href="changelog_4_8.html#id1655916"> 95General Access Method Changes:</a> 96 </span> 97 </dt> 98 <dt> 99 <span class="sect2"> 100 <a href="changelog_4_8.html#id1656015"> 101Btree Access Method Changes:</a> 102 </span> 103 </dt> 104 <dt> 105 <span class="sect2"> 106 <a href="changelog_4_8.html#id1656091"> 107Hash Access Method Changes:</a> 108 </span> 109 </dt> 110 <dt> 111 <span class="sect2"> 112 <a href="changelog_4_8.html#id1656163"> 113Queue Access Method Changes:</a> 114 </span> 115 </dt> 116 <dt> 117 <span class="sect2"> 118 <a href="changelog_4_8.html#id1656078"> 119Recno Access Method Changes:</a> 120 </span> 121 </dt> 122 <dt> 123 <span class="sect2"> 124 <a href="changelog_4_8.html#id1656213"> 125C-specific API Changes:</a> 126 </span> 127 </dt> 128 <dt> 129 <span class="sect2"> 130 <a href="changelog_4_8.html#id1656176"> 131C++-specific API Changes:</a> 132 </span> 133 </dt> 134 <dt> 135 <span class="sect2"> 136 <a href="changelog_4_8.html#id1656268"> 137Java-specific API Changes:</a> 138 </span> 139 </dt> 140 <dt> 141 <span class="sect2"> 142 <a href="changelog_4_8.html#id1656290"> 143 144 Direct Persistence Layer (DPL), Bindings and Collections API:</a> 145 </span> 146 </dt> 147 <dt> 148 <span class="sect2"> 149 <a href="changelog_4_8.html#id1656161"> 150 151 Tcl-specific API Changes:</a> 152 </span> 153 </dt> 154 <dt> 155 <span class="sect2"> 156 <a href="changelog_4_8.html#id1656376"> 157RPC-specific Client/Server Changes:</a> 158 </span> 159 </dt> 160 <dt> 161 <span class="sect2"> 162 <a href="changelog_4_8.html#id1656388"> 163Replication Changes:</a> 164 </span> 165 </dt> 166 <dt> 167 <span class="sect2"> 168 <a href="changelog_4_8.html#id1656470"> 169XA Resource Manager Changes:</a> 170 </span> 171 </dt> 172 <dt> 173 <span class="sect2"> 174 <a href="changelog_4_8.html#id1656534"> 175Locking Subsystem Changes:</a> 176 </span> 177 </dt> 178 <dt> 179 <span class="sect2"> 180 <a href="changelog_4_8.html#id1656721"> 181Logging Subsystem Changes:</a> 182 </span> 183 </dt> 184 <dt> 185 <span class="sect2"> 186 <a href="changelog_4_8.html#id1656706"> 187Memory Pool Subsystem Changes:</a> 188 </span> 189 </dt> 190 <dt> 191 <span class="sect2"> 192 <a href="changelog_4_8.html#id1656768"> 193Mutex Subsystem Changes:</a> 194 </span> 195 </dt> 196 <dt> 197 <span class="sect2"> 198 <a href="changelog_4_8.html#id1656859"> 199Test Suite Changes</a> 200 </span> 201 </dt> 202 <dt> 203 <span class="sect2"> 204 <a href="changelog_4_8.html#id1656877"> 205Transaction Subsystem Changes:</a> 206 </span> 207 </dt> 208 <dt> 209 <span class="sect2"> 210 <a href="changelog_4_8.html#id1656959"> 211Utility Changes:</a> 212 </span> 213 </dt> 214 <dt> 215 <span class="sect2"> 216 <a href="changelog_4_8.html#id1657000"> 217Configuration, Documentation, Sample Application, Portability and 218Build Changes:</a> 219 </span> 220 </dt> 221 </dl> 222 </div> 223 <div class="sect2" lang="en" xml:lang="en"> 224 <div class="titlepage"> 225 <div> 226 <div> 227 <h3 class="title"><a id="id1655543"></a> 228Changes between 4.8.26 and 4.8.30:</h3> 229 </div> 230 </div> 231 </div> 232 <div class="orderedlist"> 233 <ol type="1"> 234 <li> 235 <p> 236Limit the size of a log record generated by freeing pages from a 237database so it fits in the log file size. [#17313] 238</p> 239 </li> 240 <li> 241 <p> 242Fixed a bug that could cause a file to be removed if it was both the 243 source and target of two renames within a transaction. [#18069] 244 245</p> 246 </li> 247 <li> 248 <p> 249Modified how we go about selecting a usable buffer in the cache. 250Place more emphasis on single version and obsolete buffers. [#18114] 251 252</p> 253 </li> 254 <li> 255 <p> 256Fixed a bug that could lead to btree structure corruption if the 257db->compact method runs out of locks. [#18361] 258</p> 259 </li> 260 <li> 261 <p> 262Allow any file to be truncated even if its not a db file. [#18373] 263 264</p> 265 </li> 266 <li> 267 <p> 268Avoid a segmentation fault error if the lock manager runs out of 269locks. [#18428] 270</p> 271 </li> 272 <li> 273 <p> 274Add dbreg close records for open but missing databases during 275recovery. [#18459] 276</p> 277 </li> 278 <li> 279 <p> 280Fixed a bug which could occur when using bulk transfer with 281Replication Manager. Replication Manager may send messages even though 282its connections have already been closed, leading in rare circumstances 283to spurious EBADF error reports, or possibly even arbitrary memory 284corruption. [#18469] 285</p> 286 </li> 287 <li> 288 <p> 289Fixed a bug in C# API where db.HasMultiple was throwing an incorrect 290 exception. [#18483] 291</p> 292 </li> 293 <li> 294 <p> 295Fixed a bug where populating a SecondaryDatabase on open could lead 296to an OutOfMemoryException.. [#18529] 297</p> 298 </li> 299 <li> 300 <p> 301Fixed a bug where entries in the db register file did not get 302cleared out properly after recovery takes place. This will permit a 303process to perform a dbenv->close and then reconnect to environment 304without needing to stop the process. [#18535] 305</p> 306 </li> 307 </ol> 308 </div> 309 </div> 310 <div class="sect2" lang="en" xml:lang="en"> 311 <div class="titlepage"> 312 <div> 313 <div> 314 <h3 class="title"><a id="id1655588"></a> 315Known bugs in 4.8 </h3> 316 </div> 317 </div> 318 </div> 319 <div class="orderedlist"> 320 <ol type="1"> 321 <li> 322 <p> 323Sharing logs across mixed-endian systems does not work.[#18032] 324 325</p> 326 </li> 327 </ol> 328 </div> 329 </div> 330 <div class="sect2" lang="en" xml:lang="en"> 331 <div class="titlepage"> 332 <div> 333 <div> 334 <h3 class="title"><a id="id1655727"></a> 335Changes between 4.8.24 and 4.8.26:</h3> 336 </div> 337 </div> 338 </div> 339 <div class="orderedlist"> 340 <ol type="1"> 341 <li> 342 <p> 343Fixed a bug where the truncate log record could be too large when 344freeing too many pages during a compact. [#17313] 345</p> 346 </li> 347 <li> 348 <p> 349Fixed a bug where the deadlock detector might not run properly. 350[#17555] 351</p> 352 </li> 353 <li> 354 <p> 355Fixed three bugs related to properly detecting thread local storage 356for DbStl. [#17609] [#18001] [#18038] 357</p> 358 </li> 359 <li> 360 <p> 361Fixed a bug that prevented some of our example code from running 362correctly in a Windows environment. [#17627] 363</p> 364 </li> 365 <li> 366 <p> 367Fixed a bug where a "unable to allocate space from buffer cache" 368error was improperly generated. [#17630] 369</p> 370 </li> 371 <li> 372 <p> 373Fixed a bug where DB->exists() did not accept the DB_AUTO_COMMIT 374flag. [#17687] 375</p> 376 </li> 377 <li> 378 <p> 379Fixed a bug where DB_TXN_SNAPSHOT was not getting ignored when 380DB_MULTIVERSION not set. [#17706] 381</p> 382 </li> 383 <li> 384 <p> 385Fixed a bug that prevented callback based partitioning through the 386Java API. [#17735] 387</p> 388 </li> 389 <li> 390 <p> 391Fixed a replication bug where log files were not automatically 392removed from the client side. [#17899] 393</p> 394 </li> 395 <li> 396 <p> 397Fixed a bug where code generated from db_sql stored the key in both 398the data and key DBTs. [#17925] 399</p> 400 </li> 401 <li> 402 <p> 403Fixed a bug that prevented a sequence from closing properly after 404the EntityStore closed. [#17951] 405</p> 406 </li> 407 <li> 408 <p> 409Fixed a bug where gets fail if the DB_GET_BOTH_FLAG is specified in a 410 hash, sorted duplicates database.[#17997] 411</p> 412 </li> 413 </ol> 414 </div> 415 </div> 416 <div class="sect2" lang="en" xml:lang="en"> 417 <div class="titlepage"> 418 <div> 419 <div> 420 <h3 class="title"><a id="id1655844"></a> 421Changes between 4.8.21 and 4.8.24:</h3> 422 </div> 423 </div> 424 </div> 425 <div class="orderedlist"> 426 <ol type="1"> 427 <li> 428 <p> 429Fixed a bug in the C# API where applications in a 64-bit environment 430 could hang. [#17461] 431</p> 432 </li> 433 <li> 434 <p> 435Fixed a bug in MVCC where an exclusive latch was not removed when we 436 couldn't obtain a buffer. [#17479] 437</p> 438 </li> 439 <li> 440 <p> 441Fixed a bug where a lock wasn't removed on a non-transactional 442locker. [#17509] 443</p> 444 </li> 445 <li> 446 <p> 447Fixed a bug which could trigger an assertion when performing a 448B-tree page split and running out of log space or with MVCC enabled. 449[#17531] 450</p> 451 </li> 452 <li> 453 <p> 454Fixed a bug in the repquote example that could cause the application 455 to crash. [#17547] 456</p> 457 </li> 458 <li> 459 <p> 460Fixed a couple of bugs when using the GCC 4.4 compiler to build the 461examples and the dbstl API. [#17504] [#17476] 462</p> 463 </li> 464 <li> 465 <p> 466Fixed an incorrect representation of log system configuration info. 467[#17532] 468</p> 469 </li> 470 </ol> 471 </div> 472 </div> 473 <div class="sect2" lang="en" xml:lang="en"> 474 <div class="titlepage"> 475 <div> 476 <div> 477 <h3 class="title"><a id="id1655898"></a> 478Changes between 4.7 and 4.8.21:</h3> 479 </div> 480 </div> 481 </div> 482 </div> 483 <div class="sect2" lang="en" xml:lang="en"> 484 <div class="titlepage"> 485 <div> 486 <div> 487 <h3 class="title"><a id="id1655904"></a> 488Database or Log File On-Disk Format Changes:</h3> 489 </div> 490 </div> 491 </div> 492 <div class="orderedlist"> 493 <ol type="1"> 494 <li> 495 <p> 496The log file format changed in 4.8. 497</p> 498 </li> 499 </ol> 500 </div> 501 </div> 502 <div class="sect2" lang="en" xml:lang="en"> 503 <div class="titlepage"> 504 <div> 505 <div> 506 <h3 class="title"><a id="id1655609"></a> 507New Features:</h3> 508 </div> 509 </div> 510 </div> 511 <div class="orderedlist"> 512 <ol type="1"> 513 <li> 514 <p> 515Improved scalability and throughput when using BTree databases 516especially when running with multiple threads that equal or exceed the 517number of available CPUs. 518 519</p> 520 </li> 521 <li> 522 <p> 523Berkeley DB has added support for C#. In addition to the new 524C# api, C# specific tests and sample applications were also added. 525[#16137] 526</p> 527 </li> 528 <li> 529 <p> 530Berkeley DB has added an STL API, which is compatible with and very 531similar to C++ Standard Template Library (STL). Tests and 532sample applications and documentation were also added. [#16217] 533 534</p> 535 </li> 536 <li> 537 <p> 538Berkeley DB has added database partitioning. BTree or Hash databases 539 may now be partitioned across multiple directories. Partitioned 540databases can be used to increase concurrency and to improve performance 541 by spreading access across disk subsystems. [#15862] 542</p> 543 </li> 544 <li> 545 <p> 546Berkeley DB now supports bulk insertion and deletion of data. 547Similar to the bulk get interface, the bulk put and bulk delete allow 548the developer to populate a buffer of key-value pairs and then pass it 549to the BDB library with a single API call. 550</p> 551 </li> 552 <li> 553 <p> 554Berkeley DB now supports compression when using BTree. 555 556</p> 557 </li> 558 <li> 559 <p> 560Berkeley DB introduces a new utility named db_sql which replaces 561db_codegen. Similar to db_codegen, db_sql accepts an input file with DDL 562 statements and generates a Berkeley DB application using the C API that 563 creates and performs CRUD operations on the defined tables. The 564developer can then use that code as a basis for further application 565development. 566</p> 567 </li> 568 <li> 569 <p> 570The Replication Manager now supports shared access to the Master 571database environment from multiple processes. In earlier versions, 572 multiple process support on the Master required use of the Base 573Replication API. [#15982] 574 575</p> 576 </li> 577 <li> 578 <p> 579Foreign Key Support has been added to Berkeley DB. 580</p> 581 </li> 582 <li> 583 <p> 584Several enhancements were made to DB_REGISTER & 585DB_ENV->failchk(). 586</p> 587 </li> 588 <li> 589 <p> 590Berkeley now supports 100% in-memory replication. 591 592</p> 593 </li> 594 <li> 595 <p> 596Berkeley DB now has the ability to compare two cursors for equality. 597 [#16811] 598 599 600</p> 601 </li> 602 </ol> 603 </div> 604 </div> 605 <div class="sect2" lang="en" xml:lang="en"> 606 <div class="titlepage"> 607 <div> 608 <div> 609 <h3 class="title"><a id="id1655816"></a> 610Database Environment Changes:</h3> 611 </div> 612 </div> 613 </div> 614 <div class="orderedlist"> 615 <ol type="1"> 616 <li> 617 <p> 618Fixed a bug that could cause an allocation error while trying to 619 allocate thread tracking information for the DB_ENV->failcheck 620system. 621[#16300] 622</p> 623 </li> 624 <li> 625 <p> 626Fixed a bug that could cause a trap if an environment open failed 627and failchk thread tracking was enabled.[#16770] 628</p> 629 </li> 630 </ol> 631 </div> 632 </div> 633 <div class="sect2" lang="en" xml:lang="en"> 634 <div class="titlepage"> 635 <div> 636 <div> 637 <h3 class="title"><a id="id1655970"></a> 638Concurrent Data Store Changes:</h3> 639 </div> 640 </div> 641 </div> 642 <p> 643None. 644</p> 645 </div> 646 <div class="sect2" lang="en" xml:lang="en"> 647 <div class="titlepage"> 648 <div> 649 <div> 650 <h3 class="title"><a id="id1655916"></a> 651General Access Method Changes:</h3> 652 </div> 653 </div> 654 </div> 655 <div class="orderedlist"> 656 <ol type="1"> 657 <li> 658 <p> 659Fixed a bug where doing an insert with secondary indices and the 660 NOOVERWRITE flag could corrupt the secondary index. [#15912] 661</p> 662 </li> 663 <li> 664 <p> 665Fixed a possible file handle leak that occurred while aborting the 666create of a database whose metadata page was not initialized. 667[#16359] 668</p> 669 </li> 670 <li> 671 <p> 672Fixed a bug so that we now realloc the filename buffer only if we 673need it to grow. [#16385] 674[#16219] 675 676</p> 677 </li> 678 <li> 679 <p> 680Fixed a race freeing a transaction object when using MVCC. [#16381] 681 682 683</p> 684 </li> 685 <li> 686 <p> 687Added missing get methods for the DB and DB_ENV classes where there 688already was a corresponding set method. [#16505] 689 690</p> 691 </li> 692 <li> 693 <p> 694 Fixed a bug to now ensure that DB_STAT_SUBSYSTEM is distinct from 695other stat flags. [#16798] 696</p> 697 </li> 698 <li> 699 <p> 700Fixed a bug related to updating multiple secondary keys (using 701DB_MULTIPLE). [#16885] 702 703</p> 704 </li> 705 <li> 706 <p> 707Fixed a bug so that verify (db->verify, db_verify) will now 708report when it cannot read a page rather than just saying the database 709is bad. [#16916] 710</p> 711 </li> 712 <li> 713 <p> 714Fixed a bug that could cause memory corruption if a transaction 715allocating a page aborted while DB->compact was running on that 716database. [#16862] 717</p> 718 </li> 719 <li> 720 <p> 721Fixed a bug where logging was occurring during remove of an 722in-memory database when 723the DB_TXN_NOT_DURABLE flag was set. [#16571] 724</p> 725 </li> 726 <li> 727 <p> 728Fixed a bug to remove a race condition during database/file create. 729[#17020] 730</p> 731 </li> 732 <li> 733 <p> 734Fixed a bug where a call to DB->verify and specifying DB_SALVAGE 735could leak memory when the call returned. [#17161] 736</p> 737 </li> 738 <li> 739 <p> 740Fixed a bug to avoid accessing freed memory during puts on primaries 741 with custom comparators. [#17189] 742</p> 743 </li> 744 <li> 745 <p> 746Fixed a bug that could cause old versions of pages to be written 747over new versions if an existing database is opened with the DB_TRUNCATE 748 flag. [#17191] 749</p> 750 </li> 751 </ol> 752 </div> 753 </div> 754 <div class="sect2" lang="en" xml:lang="en"> 755 <div class="titlepage"> 756 <div> 757 <div> 758 <h3 class="title"><a id="id1656015"></a> 759Btree Access Method Changes:</h3> 760 </div> 761 </div> 762 </div> 763 <div class="orderedlist"> 764 <ol type="1"> 765 <li> 766 <p> 767 768 769Fixed a bug which could cause DB->compact to fail with DB_NOTFOUND or 770 DB_PAGE_NOTFOUND if the height of the tree was reduced by another 771 thread while compact was active. The bug could also cause a page 772split to trigger splitting of internal nodes which did not need to be 773split. 774 [#16192] 775</p> 776 </li> 777 <li> 778 <p> 779Fixed a bug that caused Db->compact to loop if run on an empty 780RECNO database when there were pages in the free list. [#16778] 781 782</p> 783 </li> 784 <li> 785 <p> 786Added a new flag, DB_OVERWRITE_DUP, to DB->put and DBC->put. 787This flag is equivalent to DB_KEYLAST in almost all cases: the exception 788 is 789that with sorted duplicates, if a matching key/data pair exists, we 790overwrite 791it rather than returning DB_KEYEXIST. [#16803] 792 793</p> 794 </li> 795 </ol> 796 </div> 797 </div> 798 <div class="sect2" lang="en" xml:lang="en"> 799 <div class="titlepage"> 800 <div> 801 <div> 802 <h3 class="title"><a id="id1656091"></a> 803Hash Access Method Changes:</h3> 804 </div> 805 </div> 806 </div> 807 <div class="orderedlist"> 808 <ol type="1"> 809 <li> 810 <p> 811Fixed a bug to now force a group allocation that rolls forward 812to reinit all the pages. 813 814Otherwise a previous aborted allocation may change the header. 815[#15414] 816</p> 817 </li> 818 <li> 819 <p> 820Fixed a bug to now return the expected buffer size on a 821DB_BUFFER_SMALL condition. [#16881] 822 823</p> 824 </li> 825 </ol> 826 </div> 827 </div> 828 <div class="sect2" lang="en" xml:lang="en"> 829 <div class="titlepage"> 830 <div> 831 <div> 832 <h3 class="title"><a id="id1656163"></a> 833Queue Access Method Changes:</h3> 834 </div> 835 </div> 836 </div> 837 <div class="orderedlist"> 838 <ol type="1"> 839 <li> 840 <p> 841 Fixed a bug that would cause the LSN reset functionality to not 842 process queue extents. 843[#16213] 844</p> 845 </li> 846 <li> 847 <p> 848Fixed a bug that prevented a partial put on a queue database with 849secondaries 850configured. [#16460] 851 852</p> 853 </li> 854 <li> 855 <p> 856Fixed a bug to now prevent an unpinned page to be returned if a 857delete from a HASH database deadlocked. 858 [#16371] 859</p> 860 </li> 861 <li> 862 <p> 863Fixed a bug that could cause a queue extent to be recreated if an 864application deleted a record that was already deleted in that extent. 865[#17004] 866</p> 867 </li> 868 <li> 869 <p> 870Added the DB_CONSUME flag to DB->del and DBC->del to force 871adjustment of the head of the queue. [#17004] 872</p> 873 </li> 874 </ol> 875 </div> 876 </div> 877 <div class="sect2" lang="en" xml:lang="en"> 878 <div class="titlepage"> 879 <div> 880 <div> 881 <h3 class="title"><a id="id1656078"></a> 882Recno Access Method Changes:</h3> 883 </div> 884 </div> 885 </div> 886 <div class="orderedlist"> 887 <ol type="1"> 888 <li> 889 <p> 890 Fixed a bug which could cause DB->compact of a RECNO 891database to loop if the number of pages on the free list was reduced by 892another thread while compact was active. [#16199] 893</p> 894 </li> 895 <li> 896 <p> 897Fixed a bug that occurs when deleting from a Recno database and 898using DB_READ_UNCOMMITTED where we could try to downgrade a lock 899twice. [#16347] 900</p> 901 </li> 902 <li> 903 <p> 904Fixed a bug to now disallow passing DB_DUP and DB_RECNUM together to 905 __db_set_flags. 906[#16585] 907</p> 908 </li> 909 </ol> 910 </div> 911 </div> 912 <div class="sect2" lang="en" xml:lang="en"> 913 <div class="titlepage"> 914 <div> 915 <div> 916 <h3 class="title"><a id="id1656213"></a> 917C-specific API Changes:</h3> 918 </div> 919 </div> 920 </div> 921 <div class="orderedlist"> 922 <ol type="1"> 923 <li> 924 <p> 925Add get functions for each set functions of DB and DB_ENV structures 926 which didn't have one.[#16505] 927</p> 928 </li> 929 </ol> 930 </div> 931 </div> 932 <div class="sect2" lang="en" xml:lang="en"> 933 <div class="titlepage"> 934 <div> 935 <div> 936 <h3 class="title"><a id="id1656176"></a> 937C++-specific API Changes:</h3> 938 </div> 939 </div> 940 </div> 941 <div class="orderedlist"> 942 <ol type="1"> 943 <li> 944 <p> 945The get and set_lk_partitions methods are now available. 946 947</p> 948 </li> 949 <li> 950 <p> 951 952Add get functions for each set functions of Db and DbEnv classes which 953didn't have one.[#16505] 954 955</p> 956 </li> 957 <li> 958 <p> 959Fixed a memory leak when using nested transactions.[#16956] 960</p> 961 </li> 962 </ol> 963 </div> 964 </div> 965 <div class="sect2" lang="en" xml:lang="en"> 966 <div class="titlepage"> 967 <div> 968 <div> 969 <h3 class="title"><a id="id1656268"></a> 970Java-specific API Changes:</h3> 971 </div> 972 </div> 973 </div> 974 <div class="orderedlist"> 975 <ol type="1"> 976 <li> 977 <p> 978 Fixed a bug where the replication finer-grained verbose 979flags were not available in the Java API. [#15419] 980</p> 981 </li> 982 <li> 983 <p> 984Fixed a bug in the BTree prefix compression API when called from the 985 Java 986 987API. DBTs were not properly initialized. [#16417] 988 989</p> 990 </li> 991 <li> 992 <p> 993Fixed a bug so that LogCursor will work correctly from the Java API. 994[#16827] 995 996</p> 997 </li> 998 <li> 999 <p> 1000Fixed a bug so that position(), limit() and capacity() of 1001ByteBuffers are obeyed by DatabaseEntry objects. [#16982] 1002 1003</p> 1004 </li> 1005 </ol> 1006 </div> 1007 </div> 1008 <div class="sect2" lang="en" xml:lang="en"> 1009 <div class="titlepage"> 1010 <div> 1011 <div> 1012 <h3 class="title"><a id="id1656290"></a> 1013 1014 Direct Persistence Layer (DPL), Bindings and Collections API:</h3> 1015 </div> 1016 </div> 1017 </div> 1018 <div class="orderedlist"> 1019 <ol type="1"> 1020 <li> 1021 <p> 1022The StoredMap class now implements the standard 1023java.util.concurrent.ConcurrentMap interface. [#15382] 1024</p> 1025 </li> 1026 <li> 1027 <p> 1028Report a meaningful IllegalArgumentException when @Persistent is 1029incorrectly declared on an enum class. Before, the confusing message 1030Persistent class has non-persistent superclass: java.lang.Enum was 1031reported. [#15623] 1032</p> 1033 </li> 1034 <li> 1035 <p> 1036Report a meaningful IllegalArgumentException when @Persistent is 1037incorrectly declared on an interface. Before, a NullPointerException was 1038 reported. [#15841] 1039</p> 1040 </li> 1041 <li> 1042 <p> 1043Several validation checks have been added or corrected having to do 1044with entity subclasses, which are @Persistent classes that extend an 1045@Entity class. [#16077] 1046</p> 1047 </li> 1048 <li> 1049 <p> 1050Optimized marshaling for large numbers of embedded objects improving 1051 performance. [#16198] 1052</p> 1053 </li> 1054 <li> 1055 <p> 1056The StoredMap class now implements the Java 1.5 ConcurrentMap 1057interface. [#16218] 1058</p> 1059 </li> 1060 <li> 1061 <p> 1062Fix a DPL bug that caused exceptions when using a class Converter 1063for an instance containing non-simple fields. [#16233] 1064</p> 1065 </li> 1066 <li> 1067 <p> 1068Add EntityCursor.setCacheMode and getCacheMode. See the 1069com.sleepycat.je.CacheMode class for more information. [#16239] 1070</p> 1071 </li> 1072 <li> 1073 <p> 1074Fix a bug that prevents evolution of @SecondaryKey information in an 1075 entity subclass (a class that extends an @Entity class). [#16253] 1076</p> 1077 </li> 1078 <li> 1079 <p> 1080Report a meaningful IllegalArgumentException when @Persistent or 1081@Entity is incorrectly used on an inner class (a non-static nested 1082class). Before, the confusing message No default constructor was 1083reported. [#16279] 1084</p> 1085 </li> 1086 <li> 1087 <p> 1088Improved the reliability of Entity subclasses that define secondary 1089keys by requiring that they be registered prior to storing an instance 1090of the class. [#16399] 1091</p> 1092 </li> 1093 <li> 1094 <p> 1095Fix a bug that under certain circumstances causes 1096"IllegalArgumentException: Not a key class" when calling 1097EntityStore.getSubclassIndex, EntityStore.getPrimaryConfig, 1098EntityStore.getSecondaryConfig, or PrimaryIndex.put, and a composite key 1099 class is used. [#16407] 1100</p> 1101 </li> 1102 <li> 1103 <p> 1104Fixed a bug so that one can now compile DPL in the Java API on 1105Windows. 1106[#16570] 1107</p> 1108 </li> 1109 <li> 1110 <p> 1111The com.sleepycat.collections.TransactionRunner.handleException 1112method has been added to allow overriding the default transaction retry 1113policy. See the javadoc for this method for more information. [#16574] 1114 1115</p> 1116 </li> 1117 <li> 1118 <p> 1119Fix a bug that causes an assertion to fire or a NullPointerException 1120 (when assertions are disabled) from the EntityStore constructor. The 1121problem occurs only when the previously created EntityStore contains an 1122entity with a secondary key definition in which the key name has been 1123overridden and is different than the field name. [#16819] 1124</p> 1125 </li> 1126 <li> 1127 <p> 1128Key cursors have been optimized to significantly reduce I/O when the 1129 READ_UNCOMMITTED isolation mode is used. See EntityIndex.keys for more 1130information. [#16859] 1131</p> 1132 </li> 1133 <li> 1134 <p> 1135Report a meaningful IllegalArgumentException when NULLIFY is used 1136with a @SecondaryKey and the field is a primitive type. Before, the 1137confusing message Key field object may not be null was reported. 1138[#17011] 1139</p> 1140 </li> 1141 <li> 1142 <p> 1143Enum fields may now be used as DPL keys, including primary keys, 1144secondary keys, and fields of composite key classes. Comparators are 1145supported for composite key classes containing enum fields. [#17140] 1146</p> 1147 </li> 1148 <li> 1149 <p> 1150Fix a bug that prevented the use of custom key comparisons 1151(composite key classes that implement Comparable) for secondary keys 1152defined as ONE_TO_MANY or MANY_TO_MANY.[#17207] 1153</p> 1154 </li> 1155 <li> 1156 <p> 1157The db.jar file now contains a Premain class which enables bytecode 1158enhancement using the JVM instrumentation commands. The built-in proxy 1159classes are also now enhanced in the db.jar file, which enables off-line 1160 bytecode enhancement. For more information on DPL bytecode enhancement 1161 and how to use both instrumentation and off-line enhancement, please 1162see the com.sleepycat.persist.model.ClassEnhancer javadoc. [#17233] 1163 1164 1165</p> 1166 </li> 1167 </ol> 1168 </div> 1169 </div> 1170 <div class="sect2" lang="en" xml:lang="en"> 1171 <div class="titlepage"> 1172 <div> 1173 <div> 1174 <h3 class="title"><a id="id1656161"></a> 1175 1176 Tcl-specific API Changes:</h3> 1177 </div> 1178 </div> 1179 </div> 1180 <div class="orderedlist"> 1181 <ol type="1"> 1182 <li> 1183 <p> 1184The mutex API is now available when using Tcl. [#16342] 1185 1186 1187</p> 1188 </li> 1189 </ol> 1190 </div> 1191 </div> 1192 <div class="sect2" lang="en" xml:lang="en"> 1193 <div class="titlepage"> 1194 <div> 1195 <div> 1196 <h3 class="title"><a id="id1656376"></a> 1197RPC-specific Client/Server Changes:</h3> 1198 </div> 1199 </div> 1200 </div> 1201 <div class="itemizedlist"> 1202 <ul type="disc"> 1203 <li> 1204 <p> 1205 1206 1207RPC support has been removed from Berkeley DB. [#16785] 1208</p> 1209 </li> 1210 </ul> 1211 </div> 1212 </div> 1213 <div class="sect2" lang="en" xml:lang="en"> 1214 <div class="titlepage"> 1215 <div> 1216 <div> 1217 <h3 class="title"><a id="id1656388"></a> 1218Replication Changes:</h3> 1219 </div> 1220 </div> 1221 </div> 1222 <div class="orderedlist"> 1223 <ol type="1"> 1224 <li> 1225 <p> 1226Improved testing of initial conditions for rep and repmgr APIs 1227and added heartbeat timeouts to rep_get_timeout.[#14977] 1228</p> 1229 </li> 1230 <li> 1231 <p> 1232Added DB_REP_CONF_INMEM replication configuration flag to store 1233replication information 1234exclusively in-memory without creating any files on-disk. [#15257] 1235 1236</p> 1237 </li> 1238 <li> 1239 <p> 1240Added repmgr support for multi-process shared env [#15982] 1241 1242</p> 1243 </li> 1244 <li> 1245 <p> 1246Fixed a bug where opening a cursor from a database handle failed to 1247check whether the database handle was still fresh. If the database 1248handle had been invalidated by a replication client synchronizing with a 1249 new master, it could point to invalid information. [#15990] 1250 1251</p> 1252 </li> 1253 <li> 1254 <p> 1255Fixed a bug so that if LOG_REQ gets an archived LSN, replication 1256sends VERIFY_FAIL. [#16004] 1257 1258</p> 1259 </li> 1260 <li> 1261 <p> 1262Added timestamp and process/thread id to replication verbose 1263messages. [#16098] 1264</p> 1265 </li> 1266 <li> 1267 <p> 1268Fixed a bug where, in very rare circumstances, two repmgr sites 1269could connect to each other at the exact same time, the connection 1270attempts "collide" and fail, and the same collision repeats in time 1271synchronization indefinitely. [#16114] 1272 1273</p> 1274 </li> 1275 <li> 1276 <p> 1277 Fixed a bug where a missing database file (FILE_FAIL error 1278condition) can interrupt a 1279client synchronization without restarting it. [#16130] 1280 1281 1282</p> 1283 </li> 1284 <li> 1285 <p> 1286Fixed a bug by adding REP_F_INREPSTART flag to prevent racing 1287threads in rep_start. [#16247] 1288 1289 1290</p> 1291 </li> 1292 <li> 1293 <p> 1294Fixed a bug to not return HOLDELECTION if we are already in the 1295middle of an election. Updated the egen so the election thread 1296will notice. [#16270] 1297</p> 1298 </li> 1299 <li> 1300 <p> 1301Fixed a bug in buffer space computation, which could have led to 1302memory corruption in rare circumstances, when using bulk transfer. 1303[#16357] 1304 1305 1306</p> 1307 </li> 1308 <li> 1309 <p> 1310Fixed a bug that prevented replication clients from opening a 1311sequence. The sequence is opened for read operations only. 1312[#16406] 1313</p> 1314 </li> 1315 <li> 1316 <p> 1317Fixed a bug by removing an assertion about priority in elections. 1318It is not correct 1319because it could have changed by then. Remove unused recover_gen 1320field. [#16412] 1321 1322</p> 1323 </li> 1324 <li> 1325 <p> 1326Fixed a bug to now ignore a message from client if it is an LSN not 1327recognized in 1328a LOG_REQ. [#16444] 1329 1330</p> 1331 </li> 1332 <li> 1333 <p> 1334Fixed a bug so that on POSIX systems, repmgr no longer restores 1335default 1336SIGPIPE action upon env close, if it was necessary to change it during 1337start-up. This allows remaining repmgr environments within the 1338same 1339process, if any, to continue operating after one of them is closed. 1340[#16454] 1341 1342 1343</p> 1344 </li> 1345 <li> 1346 <p> 1347 After a replication client restarts with recovery, any named 1348in-memory databases are now re-materialized from the rest of the 1349replication group upon synchronization with the master. [#16495] 1350 1351</p> 1352 </li> 1353 <li> 1354 <p> 1355Fixed a bug by adding missing rep_get_config flags. [#16527] 1356 1357</p> 1358 </li> 1359 <li> 1360 <p> 1361Instead of sleeping if the bulk buffer is in transmission, return so 1362 that we can send as a singleton. [#16537] 1363 1364</p> 1365 </li> 1366 <li> 1367 <p> 1368Fixed a bug by changing __env_refresh to not hit assert on -private 1369-rep env with an in-memory database. [#16546] 1370 1371 1372</p> 1373 </li> 1374 <li> 1375 <p> 1376Fixed a bug in the Windows implementation of repmgr where a large 1377number of commit threads concurrently awaiting 1378acknowledgments could result in memory corruption, and leaking 1379Win32 Event Objects. 1380[#16548] 1381</p> 1382 </li> 1383 <li> 1384 <p> 1385Fixed a bug by changing repmgr to count a dropped connection when 1386noticing a lacking 1387heartbeat; fixed hearbeat test to check for election, rather than 1388connection 1389drop count, and more reasonable time limit; fixed test to poll until 1390desired result, rather than always sleeping max possible 1391time. [#16550] 1392 1393</p> 1394 </li> 1395 <li> 1396 <p> 1397Fixed "master changes" stat to count when local site becomes master 1398too. [#16562] 1399 1400</p> 1401 </li> 1402 <li> 1403 <p> 1404Fixed a bug where a c2c client would send UPDATE_REQ to another 1405client [#16592] 1406 1407</p> 1408 </li> 1409 <li> 1410 <p> 1411Removed code to proactively expire leases when we don't get 1412acks. 1413Leases maintain their own LSNs to know. [#16494] 1414</p> 1415 </li> 1416 <li> 1417 <p> 1418Fixed a bug where a client may not sync pages during internal init. 1419[#16671] 1420 1421</p> 1422 </li> 1423 <li> 1424 <p> 1425Fixed a bug where a client that received and skipped a log record 1426from the master during an election, then won the election, could then 1427try to request a copy of the skipped log record. The result was an 1428 attempt to send a request to the local site, which is invalid: this 1429could confuse a replication Base API application, or cause the 1430Replication Manager to crash. [#16700] 1431</p> 1432 </li> 1433 <li> 1434 <p> 1435 1436Fixed a bug which could have caused data loss or corruption (at the 1437client only) if a replication client rolled back existing transactions 1438in order to synchronize with a new master, and then crashed/recovered 1439before a subsequent checkpoint operation had been replicated from the 1440master. [#16732] 1441 1442</p> 1443 </li> 1444 <li> 1445 <p> 1446 Fixed a bug so that replication now retries on DB_LOCK_NOTGRANTED. 1447[#16741] 1448</p> 1449 </li> 1450 <li> 1451 <p> 1452Fixed a potential deadlock in rep_verify_fail. [#16779] 1453</p> 1454 </li> 1455 <li> 1456 <p> 1457 Fixed a bug so that an application will no longer segv if nsites 1458given was smaller than number of sites that actually exists. [#16825] 1459</p> 1460 </li> 1461 </ol> 1462 </div> 1463 </div> 1464 <div class="sect2" lang="en" xml:lang="en"> 1465 <div class="titlepage"> 1466 <div> 1467 <div> 1468 <h3 class="title"><a id="id1656470"></a> 1469XA Resource Manager Changes:</h3> 1470 </div> 1471 </div> 1472 </div> 1473 <div class="orderedlist"> 1474 <ol type="1"> 1475 <li> 1476 <p> 1477The XA Resource Manager has been removed from Berkeley DB. 1478[#6459] 1479 1480</p> 1481 </li> 1482 </ol> 1483 </div> 1484 </div> 1485 <div class="sect2" lang="en" xml:lang="en"> 1486 <div class="titlepage"> 1487 <div> 1488 <div> 1489 <h3 class="title"><a id="id1656534"></a> 1490Locking Subsystem Changes:</h3> 1491 </div> 1492 </div> 1493 </div> 1494 <div class="orderedlist"> 1495 <ol type="1"> 1496 <li> 1497 <p> 1498 Fixed a bug to prevent unlocking a mutex twice if we ran out of 1499 transactional locks. 1500[#16285] 1501</p> 1502 </li> 1503 <li> 1504 <p> 1505 Fixed a bug to prevent a segmentation trap in __lock_open if 1506there were an error during the opening of an environment. 1507[#16307] 1508</p> 1509 </li> 1510 <li> 1511 <p> 1512 Fixed a bug to now avoid a deadlock if user defined locks are used 1513only one lock partition is defined.[#16415] 1514</p> 1515 </li> 1516 <li> 1517 <p> 1518Fixed concurrency problems in __dd_build, __dd_abort by adding 1519LOCK_SYSTEM_LOCK() calls to 1520__dd_build and __dd_abort. 1521[16489] 1522</p> 1523 </li> 1524 <li> 1525 <p> 1526Fixed a bug that could cause a panic if a transaction which 1527updated a database that was supporting 1528READ_UNCOMMITED readers aborted and it hit a race 1529with a thread running the deadlock detector. [#16490] 1530</p> 1531 </li> 1532 <li> 1533 <p> 1534Fixed a race condition in deadlock detection that could overwrite 1535heap. [#16541] 1536 1537</p> 1538 </li> 1539 <li> 1540 <p> 1541Fixed a bug so that DB_STAT_CLEAR now restores the value of 1542st_partitions. [#16701] 1543 1544 1545</p> 1546 </li> 1547 </ol> 1548 </div> 1549 </div> 1550 <div class="sect2" lang="en" xml:lang="en"> 1551 <div class="titlepage"> 1552 <div> 1553 <div> 1554 <h3 class="title"><a id="id1656721"></a> 1555Logging Subsystem Changes:</h3> 1556 </div> 1557 </div> 1558 </div> 1559 <div class="orderedlist"> 1560 <ol type="1"> 1561 <li> 1562 <p> 1563Fixed a bug so that the header checksum is only ignored when the 1564 log is from a previous version [#16281] 1565</p> 1566 </li> 1567 <li> 1568 <p> 1569Fixed a bug by removing a possible race condition with 1570logc_get(DB_FIRST) and log archiving. [#16387] 1571 1572</p> 1573 </li> 1574 <li> 1575 <p> 1576Fixed a bug that could cause a recovery failure of a create of a 1577database that was aborted. [#16824] 1578 1579</p> 1580 </li> 1581 <li> 1582 <p> 1583An in-memory database creation has an intermediate phase where we 1584have a semi-open DBP. If 1585we crash in that state, then recovery was failing because it tried to 1586use a partically open 1587database handle. This fix checks for that case, and avoids trying to 1588undo page writes for 1589databases in that interim step. [#17203] 1590 1591</p> 1592 </li> 1593 </ol> 1594 </div> 1595 </div> 1596 <div class="sect2" lang="en" xml:lang="en"> 1597 <div class="titlepage"> 1598 <div> 1599 <div> 1600 <h3 class="title"><a id="id1656706"></a> 1601Memory Pool Subsystem Changes:</h3> 1602 </div> 1603 </div> 1604 </div> 1605 <div class="orderedlist"> 1606 <ol type="1"> 1607 <li> 1608 <p> 1609Fixed a bug that occurred after all open handles on a file are 1610closed. Needed to clear the TXN_NOT_DURABLE 1611flag (if set) and mark the file as DURABLE_UNKNOWN in the memory pool. 1612[#16091] 1613 1614</p> 1615 </li> 1616 <li> 1617 <p> 1618Fixed a possible race condition between dirtying and freeing a 1619buffer that could result in a panic or corruption. 1620[#16530] 1621</p> 1622 </li> 1623 <li> 1624 <p> 1625 Fixed a memory leak where allocated space for temporary file names 1626are not released. [#16956] 1627 1628</p> 1629 </li> 1630 </ol> 1631 </div> 1632 </div> 1633 <div class="sect2" lang="en" xml:lang="en"> 1634 <div class="titlepage"> 1635 <div> 1636 <div> 1637 <h3 class="title"><a id="id1656768"></a> 1638Mutex Subsystem Changes:</h3> 1639 </div> 1640 </div> 1641 </div> 1642 <div class="orderedlist"> 1643 <ol type="1"> 1644 <li> 1645 <p> 1646Fixed a bug when using mutexes for SMP MIPS/Linux systems. 1647[#15914] 1648 1649</p> 1650 </li> 1651 <li> 1652 <p> 1653POSIX mutexes are now the default on Solaris. [#16066] 1654 1655</p> 1656 </li> 1657 <li> 1658 <p> 1659Fixed a bug in mutex allocation with multiple cache regions. 1660[#16178] 1661</p> 1662 </li> 1663 <li> 1664 <p> 1665Fixed MIPS/Linux mutexes in 4.7. [#16209] 1666 1667</p> 1668 </li> 1669 <li> 1670 <p> 1671Fixed a bug that would cause a mutex to be unlocked a second time if 1672 we ran out of space while tracking pinned pages. 1673[#16228] 1674</p> 1675 </li> 1676 <li> 1677 <p> 1678Fixed a bug Sparc/GCC when using test-and-set mutexes. They 1679are now aligned on an 8-byte boundary. [#16243] 1680 1681</p> 1682 </li> 1683 <li> 1684 <p> 1685 Fixed a bug to now prevent a thread calling DB_ENV->failcheck 1686to hang on a mutex held by a dead thread. 1687 1688[#16446] 1689</p> 1690 </li> 1691 <li> 1692 <p> 1693Fixed a bug so that __db_pthread_mutex_unlock() now handles the 1694failchk case 1695of finding a busy mutex which was owned by a now-dead process. [#16557] 1696</p> 1697 </li> 1698 <li> 1699 <p> 1700 1701Removed support for the mutex implementation based on the "fcntl" system 1702 1703call. Anyone configuring Berkeley DB to use this type of mutex in an 1704earlier release will need to either switch to a different mutex type 1705or contact Oracle for support. [#17470] 1706 1707</p> 1708 </li> 1709 </ol> 1710 </div> 1711 </div> 1712 <div class="sect2" lang="en" xml:lang="en"> 1713 <div class="titlepage"> 1714 <div> 1715 <div> 1716 <h3 class="title"><a id="id1656859"></a> 1717Test Suite Changes</h3> 1718 </div> 1719 </div> 1720 </div> 1721 <div class="orderedlist"> 1722 <ol type="1"> 1723 <li> 1724 <p> 1725Fixed a bug when using failchk(), where a mutex was not 1726released. [#15982] 1727 1728</p> 1729 </li> 1730 <li> 1731 <p> 1732Added a set of basic repmgr tests to run_std and run_all. [#16092] 1733</p> 1734 </li> 1735 <li> 1736 <p> 1737Added control wrapper for db_reptest to test suite. [#16161] 1738 1739</p> 1740 </li> 1741 <li> 1742 <p> 1743Fixed a bug to now skip tests if db_reptest is not configured. 1744[#16161] 1745</p> 1746 </li> 1747 <li> 1748 <p> 1749Changed name of run_db_in_mem to run_inmem_db, and run_inmem to 1750run_inmem_log and made the arg orders consistent. [#16358] 1751 1752</p> 1753 </li> 1754 <li> 1755 <p> 1756Fixed a bug to now clean up stray handles when rep_verify doesn't 1757work. [#16390] 1758 1759</p> 1760 </li> 1761 <li> 1762 <p> 1763Fixed a bug to avoid db_reptest passing the wrong flag to 1764repmgr_start when there is already a master. [#16475] 1765 1766</p> 1767 </li> 1768 <li> 1769 <p> 1770Added new tests for abbreviated internal init. Fixed test not to 1771expect in-memory database to survive recovery. [#16495] 1772 1773 1774</p> 1775 </li> 1776 <li> 1777 <p> 1778Fix a bug, to add page size for txn014 if the default page size is 1779too small. 1780Move files instead of renaming directory for env015 on QNX. [#16627] 1781 1782</p> 1783 </li> 1784 <li> 1785 <p> 1786Added new rep088 test for log truncation integrity. [#16732] 1787</p> 1788 </li> 1789 <li> 1790 <p> 1791Fixed a bug by adding a checkpoint in rep061 to make sure we have 1792messages to process. Otherwise we could hang with client stuck in 1793internal init, and no 1794incoming messages to trigger rerequest. 1795[#16781] 1796 1797</p> 1798 </li> 1799 </ol> 1800 </div> 1801 </div> 1802 <div class="sect2" lang="en" xml:lang="en"> 1803 <div class="titlepage"> 1804 <div> 1805 <div> 1806 <h3 class="title"><a id="id1656877"></a> 1807Transaction Subsystem Changes:</h3> 1808 </div> 1809 </div> 1810 </div> 1811 <div class="orderedlist"> 1812 <ol type="1"> 1813 <li> 1814 <p> 1815Fixed a bug to no longer generate an error if DB_ENV->set_flags 1816(DB_TXN_NOSYNC) was called after the environment was opened. [#16492] 1817</p> 1818 </li> 1819 <li> 1820 <p> 1821Fixed a bug to remove a potential hang condition in replication 1822os_yield loops 1823when DB_REGISTER used with replication by adding PANIC_CHECKS. 1824[#16502] 1825</p> 1826 </li> 1827 <li> 1828 <p> 1829Fix a bug to now release mutex obtained before special condition 1830returns in __db_cursor_int and __txn_record_fname. [#16665] 1831</p> 1832 </li> 1833 <li> 1834 <p> 1835Fixed a leak in the transaction region when a snapshot update 1836transaction accesses more than 4 databases. 1837[#16734] 1838</p> 1839 </li> 1840 <li> 1841 <p> 1842Enabled setting of set_thread_count via the DB_CONFIG file. [#16878] 1843</p> 1844 </li> 1845 <li> 1846 <p> 1847Fixed a mutex leak in some corner cases. [#16665] 1848</p> 1849 </li> 1850 </ol> 1851 </div> 1852 </div> 1853 <div class="sect2" lang="en" xml:lang="en"> 1854 <div class="titlepage"> 1855 <div> 1856 <div> 1857 <h3 class="title"><a id="id1656959"></a> 1858Utility Changes:</h3> 1859 </div> 1860 </div> 1861 </div> 1862 <div class="orderedlist"> 1863 <ol type="1"> 1864 <li> 1865 <p> 1866The db_stat utility with the -RA flags will now print a list of 1867known remote replication flags when using repmgr. [#15484] 1868 1869</p> 1870 </li> 1871 <li> 1872 <p> 1873Restructured DB salvage to walk known leaf pages prior to looping 1874over all db pages. [#16219] 1875 1876 1877</p> 1878 </li> 1879 <li> 1880 <p> 1881Fixed a problem with upgrades to 4.7 on big endian machines. 1882[#16411] 1883 1884</p> 1885 </li> 1886 <li> 1887 <p> 1888Fixed a bug so that now db_load consistently returns >1 on 1889failure. [#16765] 1890 1891</p> 1892 </li> 1893 <li> 1894 <p> 1895The db_dump utility now accepts a "-m" flag to dump information 1896 from a named in-memory database. [#16896] 1897 1898</p> 1899 </li> 1900 <li> 1901 <p> 1902Fixed a bug that would cause db_hotbackup to fail if a database file 1903 was removed while it was running. [#17234] 1904</p> 1905 </li> 1906 </ol> 1907 </div> 1908 </div> 1909 <div class="sect2" lang="en" xml:lang="en"> 1910 <div class="titlepage"> 1911 <div> 1912 <div> 1913 <h3 class="title"><a id="id1657000"></a> 1914Configuration, Documentation, Sample Application, Portability and 1915Build Changes:</h3> 1916 </div> 1917 </div> 1918 </div> 1919 <div class="orderedlist"> 1920 <ol type="1"> 1921 <li> 1922 <p> 1923Fixed a bug to now use the correct Perl include path. [#16058] 1924</p> 1925 </li> 1926 <li> 1927 <p> 1928Updated the version of the Microsoft runtime libraries shipped. 1929[#16058] 1930</p> 1931 </li> 1932 <li> 1933 <p> 1934Upgraded the Visual Studio build files to be based on Visual Studio 8 1935 (2005+). 1936The build is now simplified. Users can still upgrade the 1937Visual Studio 6.0 project files, if they want to 1938 1939use Visual Studio .NET (7.1) 1940[#16108] 1941</p> 1942 </li> 1943 <li> 1944 <p> 1945 1946Expanded the ex_rep example with checkpoint and log archive threads, 1947deadlock detection, new options for acknowledgment policy and bulk 1948transfer, and use of additional replication features and events. 1949[#16109] 1950 1951</p> 1952 </li> 1953 <li> 1954 <p> 1955Fixed a bug so that optimizations on AIX are re-enabled, avoiding 1956incorrect code generation. [#16141] 1957 1958</p> 1959 </li> 1960 <li> 1961 <p> 1962Removed a few compiler warnings and three type redefinitons when 1963using vxworks and the GNU compiler. [#16341] 1964 1965</p> 1966 </li> 1967 <li> 1968 <p> 1969Fixed a bug on Sparc v9 so that MUTEX_MEMBAR() now uses 1970membar_enter() to get a #storeload barrier rather than just stbar's 1971#storestor. [#16468] 1972 1973</p> 1974 </li> 1975 <li> 1976 <p> 1977Berkeley DB no longer supports Win9X and Windows Me (Millenium 1978edition). 1979</p> 1980 </li> 1981 <li> 1982 <p> 1983Fixed lock_get and lock_vec examples from the Java (and C#) API. 1984Updated the Java lock 1985example. [#16506] 1986</p> 1987 </li> 1988 <li> 1989 <p> 1990Fixed a bug to correctly handle the TPC-B history record on 199164-bit systems. [#16709] 1992</p> 1993 </li> 1994 <li> 1995 <p> 1996Add STL API to Linux build. Can be enabled via the --enable-stl 1997flag. [#16786] 1998 1999</p> 2000 </li> 2001 <li> 2002 <p> 2003Add STL API to Windows build, by building the db_stl project in the 2004solution. There are also stl's test and examples projects in this 2005solution. [#16786] 2006 2007</p> 2008 </li> 2009 <li> 2010 <p> 2011 2012Add support to build dll projects for WinCE, in order to enable users to 2013 build DB into a dll in addition to a static library.[#16625] 2014 2015</p> 2016 </li> 2017 <li> 2018 <p> 2019Fixed a weakness where several malloc/realloc return values are not 2020checked before use.[#16664] 2021</p> 2022 </li> 2023 <li> 2024 <p> 2025Enabled DB->compact for WinCE.[#15897] 2026</p> 2027 </li> 2028 <li> 2029 <p> 2030HP-UX 10 is no longer supported. 2031</p> 2032 </li> 2033 </ol> 2034 </div> 2035 </div> 2036 </div> 2037 <div class="navfooter"> 2038 <hr /> 2039 <table width="100%" summary="Navigation footer"> 2040 <tr> 2041 <td width="40%" align="left"><a accesskey="p" href="upgrade_4_8_disk.html">Prev</a>��</td> 2042 <td width="20%" align="center"> 2043 <a accesskey="u" href="upgrade_4_8_toc.html">Up</a> 2044 </td> 2045 <td width="40%" align="right">��<a accesskey="n" href="test.html">Next</a></td> 2046 </tr> 2047 <tr> 2048 <td width="40%" align="left" valign="top">Release 4.8: Upgrade Requirements��</td> 2049 <td width="20%" align="center"> 2050 <a accesskey="h" href="index.html">Home</a> 2051 </td> 2052 <td width="40%" align="right" valign="top">��Chapter��46.�� 2053 Test Suite 2054 </td> 2055 </tr> 2056 </table> 2057 </div> 2058 </body> 2059</html> 2060