PBXT rc2

This is the second release candidate.

Milestone information

Paul McCullagh
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
No users assigned to blueprints and bugs.
No blueprints are targeted to this milestone.
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon pbxt-1.0.08-rc.tar.gz (md5) Compressed archive of all sources 226
last downloaded today
Total downloads: 226

Release notes 

This is the second PBXT release candidate. It includes work on performance and stability.


View the full changelog

------- 1.0.08 RC2 - 2009-06-30

RN251: A Windows-specific test update, also removed false assertion that failed on Windows.

RN250: Fixed a bug that caused recovery to fail when the transaction log ID exceeded 255. The problem was a checksum failed in the log record.

RN249: Fixed bug #313176: Test case timeout. This happened because record cache pages where not propoerly freed and as soon as cache filled up the performacne degraded.

RN248: PBXT now compiles and runs with MySQL 5.1.35. All tests pass.

RN247: Fixed bug #369086: Incosistent/Incorrect Truncate behavior

RN246: Fixed bug #378222: Drop sakila causes error: Cannot delete or update a parent row: a foreign key constraint fails

RN245: Fixed bug #379315: Inconsistent behavior of DELETE IGNORE and FK constraint.

RN244: Fixed a recovery problem: during the recovery of "record modified" action the table was updated before the old index entries were removed; then the xres_remove_index_entries was supplied the new record which lead to incorrect index update.

RN243: Fixed a bug that caused a recovery failure if partitioned pbxt tables where present. This happended because the recovery used a MySQL function to open tables and the PBXT handler was not yet registered

RN242: Fixed a bug that caused a deadlock if pbxt initialization failed. This happened because pbxt ceanup was done from pbxt_init() with PLUGIN_lock being held by MySQL which lead to a deadlock in the freeer thread

RN241: Fixed a heap corruption bug (writing to a freed memory location). It happened only when memory mapped files were used leading to heap inconsistency and program crash or termination by heap checker. Likely to happen right after or during DROP TABLE but possible in other cases too.

RN240: Load the record cache on read when no using memory mapped files.

RN239: Added PBXT variable pbxt_max_threads. This is the maximum number of threads that can be created PBXT. By default this value is set to 0 which means the number of threads is derived from the MySQL variable max_connections. The value used is max_connections+7. Under Drizzle the default value is 500.

RN238: Added an option to wait for the sweeper to clean up old transactions on a particular connection. This prevents the sweeper from getting too far behind.

RN237: Added an option to lazy delete fixed length index entries. This means the index entries are just marked for deletion, instead of removing the items from the index page. This has the advantage that an exclusive lock is not always required for deletion.

RN236: Fixed bug #349177: a bug in configure.in script.

RN235: Fixed bug 349176: a compiler warning.

RN234: Completed Drizzle integration. All Drizzle tests now run with PBXT.

RN233: Fixed bugs which occur when PBXT is used together with PBMS (BLOB Streaming engine).

RN232: Merged Drizzle-specific changes into the main tree.

RN231: Fixed a bug that caused bad performance as the number of threads increased. This occurred when the number of open table handles exceeded 'table_open_cache', and MySQL started closing open table handlers. PBXT was flushing a table when all table handlers were closed. PBXT will now only do this when the FLUSH TABLES statement is used.

RN230: Improved efficiency of conflict resolution: Implemented a queue for threads waiting for a lock. Threads no longer poll to take a lock. If a temp lock is granted because of an update, then the thread granted the temp lock will also wait for the transaction that did the update to quit.

RN229: Fixed bug #313391: LOAD DATA ... REPLACE broken.

RN228: Fixed bug #341115: 'Out of memory' error (a bug in key comparison algorithm).

RN227: Changed conflict handling to use spin locks and improve efficiency.

RN226: Fixed bug #340316: Issue with bigint unsigned auto-increment field.

RN225: Fixed bug #308557: UPDATE fails to match all rows in a transactional scenario.

RN224: Fixed a deadlock which could occur during table scans.

RN223: Index scans now use handles to cache buffers instead of making a copy of the index page. The handles are "copy-on-write".

RN222: Fixed a bug that caused the server to hang on startup if PBXT ran out of record cache while waiting for the sweeper to complete.

RN221: Fixed an index recovery bug. This occurred if the server crashed after operating in low index cache sitations.

RN220: Improved index selectivity estimation: added scanning from the end of index backwards.

RN219: Fixed a problem: during intersected range scan not all fields were returned by engine to MySQL.

RN218: Changed the way row locking (used by SELECT FOR UPDATE) works. Previously we locked a group of rows at once (although there were many groups). However, this caused conflicts even when the same rows were not locked. We now locks individual rows.

RN217: Fixed bug #315564: Rollbacked inserts remain permanently in table.

RN216: Added lock tracing. In DEBUG mode, each thread has a list of locks (semaphores, mutexes, r/w locks that it holds).

RN215: Fixed a bug that caused a crash during restart if an index file was flushed during recovery.

RN214: Fixed bug #310184: Deadlock when trying to wake up transactions

RN213: Fixed an index corruption bug on SPARC Solaris. Note this error will occur on any machine that does not use the x86 (little endian) byte order.

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.