PBXT 1.0.01-rc

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

File Description Downloads

Release notes 

------- 1.1.01 RC - 2010-06-11

RN1/17: Fixed bug #430637: 'ERROR -86: Too many threads' reported during concurrecy test. I have removed the maximum thread limit. The system variable pbxt_max_threads has been depricated, and will no longer be supported in 1.1.

RN1/16: Added system variable pbxt_index_dirty_threshold. This is a percentage value. When the number of dirty pages in the index cache reaches this level, all indices are flushed. The default value is 80. The value 0 indicates that the indices should only be flushed when no cache pages can be freed.

RN1/15: Implemented re-write flushing option. Re-write flushing can be more efficient because it causes more sequential writing and less random seek operations on file flush.

RN1/14: Implemented asynchronous flushing of files during checkpoint. This allows multiple files (current limit 10) to be flushed at the same time, which increases the total throughput on the disk.

RN1/13: Added the pbxt_record_write_threshold system parameter. This value determines when the writer will start to transfer data from the transaction log to the record pointer (.xtr) and handle data (.xtd) files. The default is 4MB. If the value is set to zero then the parameter is ignored. The writer will also begin to transfer data when the transaction log cache is exhausted, or the record cache is full.

RN1/12: Added option to buffer and sort data written by the writer thread. This allows writes to the handle data file (.xtd) to be sorted and consolidated.

RN1/11: Corrected a problem that sometimes caused a pause in activity when the record cache was full.

RN1/10: Fixed a bug in the record cache that caused PBXT to think it had run out of cache memory. The effect was that PBXT used less and less cache over time. The bug occurs during heavy concurrent access on the record cache. The affect is the PBXT gets slower and slower.

RN1/9: PBXT now commits every 10000 rows during an import. Import is done during ALTER TABLE, CREATE INDEX, LOAD DATA INFILE, REPAIR TABLE, OPTIMIZE TABLE and DROP INDEX statements.

RN1/8: Temporary tables changes: Index files of temporary tables are no longer flushed, on recovery temporary tables are ignored.

RN1/7: Indexes are no longer locked during index flush. This is done by copying index pages before modification, if a flush is in progress.

RN1/6: Added a compile option to compact indexes where data is mainly appended to the end of the index.

RN1/5: Changes to index flushing:
- Implemented flushing of index as a background task. Several threads can wait for the index flush to complete. Threads can be notified when it is safe to continue (i.e. when all pages have been marked clean).
- Increased the size of the page sort buffer used to sort pages to be written to the index file.
- Added an option to fill pages (in the case of consecutive pages) written to the index. An option also allows the block size written to the index cache to be changed. Note that performance tests (on Mac) show no overall improvement here, flush is faster, but more data is written.
- Flush the index file after dirty index pages have been marked clean, this allows work to continue during flushing, in low-memory situations.
- Added an option to write only the area of an index page that has changed.
- When out of index cache, we now check other tables to see if the index cache needs to be flushed. This is not done if more than 1/4 of the entire index cache is dirty due to the current index. Tables are sorted, the one with the most dirty index pages is flushed first.
- When out of index cache, if less than 1/4 of the entire index cache is dirty then no flushing is done. This can happen if another thread has cleaned the cache in the meantime.

RN1/4: Added try lock variation for R/W locks (required to fix deadlock RN1/3).

RN1/3: Fixed a deadlock that could occur during low index cache situations and added some checks for index corruption.

RN1/2: Added thread pool for executing asynchronous tasks.

RN1/1: Added memory resident tables. You can create a memory resident table using "STORAGE MEMORY", for example:


------- 1.0.11-3 Pre-GA - 2010-06-11

RN326: Fixed bug #587740: pbxt-1.0.11-pre2-ga first time create partition table error. This was not a new bug. The problem was the PBXT system table's .frm files are corrupted when the first PBXT table created is a partition table.

RN325: Fixed the "to-sweep" column output in xtstat.

------- 1.0.11-2 Pre-GA - 2010-05-26

RN324: Fixed bug #584070:pbxt-1.0.11-pre-ga does not work with mysql 5.1.47. This bug fix removes a hack which was done to avoid running into the LOCK_plugin lock.

------- 1.0.11-1 Pre-GA - 2010-05-19

RN323: Detect corruption of a key length in an index page. This bug fix avoids a possible crash due to index page corruption.

------- 1.0.11 Pre-GA - 2010-05-11

RN322: Creating a table the references a non-existing table can now only be done if you set: foreign_key_checks = 0. Also fixed a failure when creating tables with recursive foreign key declarations.

RN321: Added "Extended record count" to the CHECK TABLE output. This indicates the number of records that have a data log component.

RN320: All tests now run with MySQL 5.1.46.


This release does not have a changelog.

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.