Hello, All!

I have mostly completed my work for statement-level read consistency in READ 
COMMITTED mode and
implementation of intermediate versions GC as suggested by Jim Starkey.

Please have a look at the patch against current Firebird 3:
https://drive.google.com/open?id=0B9tc80DCcxtrNWtpSnBDNUdKcGc&authuser=0

The patch includes the following changes:

1. Read Committed transactions have statement-level read consistency semantics 
by default
2. New atomics code, uses libatomic_ops for all platforms
3. Shared database counters moved to shared memory
4. TIP cache (TPC) moved to shared memory and is implemented using lock-free 
algorithms
5. Snapshot (isc_tpc_concurrency) mode transactions now use shared TIP cache and not a private copy of TIP bitmap
6. Lock manager data is now ULONG (to allow 2^32-1 transactions)
7. Intermediate versions GC, performed:
- when unneeded version is read by VIO_chase_record_version
- by GC and sweep threads (special logic)
- during index creation (prevents false duplicates)
- during record updates (in prepare_update)
8. Removed some code for precommitted transactions (was thread-unsafe)
9. Fixed errors in ATT_no_cleanup mode
10. Changed handling of records changed by transactions in limbo when reading 
them in
no_rec_version transactions with statement-level read-consistency disabled.

It is possible to split some of the changes into smaller patches, but most of the changes depend on each other.

Criticism and suggestions are more than welcome at this stage. The code passes some basic testing, but I plan to test it more.

If you like it, and ask me for it, I might actually commit it to HEAD so that it is not only me who tests it.

Nikolay Samofatov

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://p.sf.net/sfu/Zoho
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to