Mercurial > hg > blitz_stable
diff ChangeLog @ 0:3dc0c5604566
Initial checkin of blitz 2.0 fcs - no installer yet.
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Sat, 21 Mar 2009 11:00:06 +0000 |
parents | |
children | a77f0a9ed93c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ChangeLog Sat Mar 21 11:00:06 2009 +0000 @@ -0,0 +1,1607 @@ +2008-07-03 Dan Creswell <dan@dancres.org> + + * Released 2.0fcs + +2008-03-09 Dan Creswell <dan@dancres.org> + + * Updated to Db 3.2.74 + + * Updated backport-util-concurrent - includes support for JDK 6 + + * Released 2.0-rc4 + +2008-03-05 Dan Creswell <dan@dancres.org> + + * Improved EventGenerator registration concurrency + +2008-02-24 Dan Creswell <dan@dancres.org> + + * Added an option (syncNotifyOnWrite) to enable synchronous event processing in + cases where deterministic behaviour is required for *IfExists - note this + reduces performance. + +2008-02-02 Dan Creswell <dan@dancres.org> + + * Fix a false warning of schema conflicts in hierarchical matching situations. + + * Removed an errant System.err.println() in ExistsFactory + +2007-12-31 Dan Creswell <dan@dancres.org> + + * Released 2.0-rc2 + +2007-12-23 Dan Creswell <dan@dancres.org> + + * Updated to Db 3.2.68 + +2007-11-14 Dan Creswell <dan@dancres.org> + + * Fix incorrect notify clause in FifoSearchVisitorImpl which generates an + IllegalMonitorStateException + +2007-11-04 Dan Creswell <dan@dancres.org> + + * Revised ThreadStat to not include System threads in the count + + * Fixed a problem with *Exists not exiting at the point where + existing conflicts have been resolved. + +2007-09-23 Dan Creswell <dan@dancres.org> + + * Updated MonitorStats to accept a loop-time in seconds. Zero dumps + stats once, otherwise every loop-time seconds. + +2007-08-31 Dan Creswell <dan@dancres.org> + + * Fix take accounting problem in bulk take leading to negative counts + +2007-08-30 Dan Creswell <dan@dancres.org> + + * Added tool to selectively reset lookup settings from a configuration + file + +2007-08-12 Dan Creswell <dan@dancres.org> + + * Released 2.0-rc1 + +2007-08-04 Dan Creswell <dan@dancres.org> + + * Revised some default logger settings + + * Added a ThreadStat + + * Added support for specifying Db cache size in kilo, mega or giga bytes. + (original patch provided by Roshan Sequeira modified by Dan) + +2007-05-20 Dan Creswell <dan@dancres.org> + + * Update to Db 3.2.23 + + * Released 2.0beta + +2007-05-08 Dan Creswell <dan@dancres.org> + + * Fix a problem with CacheIndexer initialization in RootStorage + which could break null templates on contents() (as used by + Dashboard amongst other things). + +2007-05-07 Dan Creswell <dan@dancres.org> + + * Make transaction exception thrown when transactions are active + during snapshot more explicit + + * Add StatsDumper to regularly dump all active stats to + console log + + * Add stats for internal queues + + * Removed several independent debug configuration variables that + have been superceeded by proper stats. + + * Released 2.0alpha4 + +2007-04-30 Dan Creswell <dan@dancres.org> + + * Update documentation to cover loopback transaction manager + +2007-04-23 Dan Creswell <dan@dancres.org> + + * Transaction end is now signalled via the event queue + + * Fix bug where entry repository might be incorrectly initialized + during recovery + +2007-04-22 Dan Creswell <dan@dancres.org> + + * Database cache size should be a long + + * Revert most of backport-util-concurrent changes due to race + conditions + + * TxnState now uses synchronized not a heavyweight Mutex + + * Fix bug where transactions weren't finalized on prepareAndCommit + +2007-03-13 Dan Creswell <dan@dancres.org> + + * Added stat to track missed reads/takes + +2007-03-09 Dan Creswell <dan@dancres.org> + + * Released 2.0alpha3 + +2007-03-05 Dan Creswell <dan@dancres.org> + + * Fixup dashboard scripts in installer to work with new backport + util-concurrent libraries + +2007-02-28 Dan Creswell <dan@dancres.org> + + * Fix a race condition in the lazy instantiation of EntryRepositories + + * Make BlockingOps stat work again after removing SearchTasks + infrastructure + + * Add a stat to track number of listeners on notify.EventQueue + + * Fix EventQueue leak in bulk take + +2007-02-07 Dan Creswell <dan@dancres.org> + + * Revised blocking operation implementations to use notify core + + * Port to the backport util-concurrent to take advantage of JDK 5's + concurrency improvements whilst being backward compatible to JDK 1.4 + + * Added a prototype nio transport based on Apache Mina + + * Removed old experimental transport + + * Fixes for installer scripts where spaces are in the insane default + JDK install path on Windows. + + * Improved speed of MangledEntry serialization for faster transport and + storage + + * Released 2.0alpha2 + +2007-01-01 Dan Creswell <dan@dancres.org> + + * Released 2.0alpha + +2006-12-28 Dan Creswell <dan@dancres.org> + + * Make blocking operation dispatch faster and less costly + +2006-12-27 Dan Creswell <dan@dancres.org> + + * Implement ColocatedAgent support + + * Implement additional statistics + +2006-12-12 Dan Creswell <dan@dancres.org> + + * Modify DumpRegistry to support more lookup location options + + * Update to JE 3.2.13 + +2006-11-30 Dan Creswell <dan@dancres.org> + + * Fix race conditions in cache indexing + + * Reduce cache indexer stack to one + +2006-09-29 Dan Creswell <dan@dancres.org> + + * Downgraded to 2.1.30 - temporary workaround for issue in 3.0.12 + + * Released 1.29 + +2006-09-26 Dan Creswell <dan@dancres.org> + + * Released 1.27 + +2006-09-19 Dan Creswell <dan@dancres.org> + + * Fix a problem with active lease reaping not purging all relevant + entry's. + +2006-08-18 Dan Creswell <dan@dancres.org> + + * Remove old code for logging failed searches enabled + by logDebug + + * Rename logDebug to logCounts + + * Fix a problem where the WriteDaemon was deemed inactive too often + leading to excessive thread creation + + * Updated to Db/Java 3.0.12 + +2006-08-07 Dan Creswell <dan@dancres.org> + + * Add support for logging details of failed searches + +2006-07-14 Dan Creswell <dan@dancres.org> + + * Add a -Dforce=true option to SyncAndShutdown to force shutdown of blitz + in face of active transactions. + + * Fix a problem where remote calls may be refused due to cleanup failure + in face of active transactions + + * Fix potential ConcurrentModificationException in TxnManagerState.abortAll + + * Released 1.26 + +2006-07-01 Dan Creswell <dan@dancres.org> + + * Increase log levels on event sending code to assist in debugging issues + with notify. + +2006-05-24 Dan Creswell <dan@dancres.org> + + * Fix a problem in EntryViewImpl which could lead to duplicate Entry's + returned by contents + + * Released 1.25 + +2006-05-23 Dan Creswell <dan@dancres.org> + + * Tweak logger output for WriteQueue stats + + * Add a headless option to the installer + (thanks to Robert Barnebey for testing duties) + + * Revised configuration defaults for installer to be in line with current + preferred settings + + * Make TimeBarrier mode checkpoint at flushes to improve database + utilization and performance + +2006-03-27 Dan Creswell <dan@dancres.org> + + * Added logging to Annotating streams to allow better debugging of + codebase related issues. + +2006-03-03 Dan Creswell <dan@dancres.org> + + * Fix phoenix configuration in installer to include jsk-dl.jar as part of + codebase + + * Released 1.24 + +2006-02-22 Dan Creswell <dan@dancres.org> + + * Fix ServiceLocator unicast lookup to correctly assert a security manager + otherwise code downloading is broken. + + * Fix dashboard scripts to use Jini 2.1 jars only + + * Released 1.23 + +2006-02-19 Dan Creswell <dan@dancres.org> + + * Modify LockReleaseCallback to use WeakReference for SearchVisitors to + reduce memory footprint + + * Released 1.22 + +2006-02-15 Dan Creswell <dan@dancres.org> + + * Upgrade to Db 2.1.30 + +2006-02-14 Dan Creswell <dan@dancres.org> + + * Fix EventGeneratorImpl/VisbilityImpl.ping() to not hold a lock across the + sequence number log which can cause deadlock if event queue bounding is + enabled. + + * Released 1.22-pre1 (limited circulation) + +2006-02-10 Dan Creswell <dan@dancres.org> + + * Fix up Rio config to use Jini 2.1 .jars + +2006-02-02 Dan Creswell <dan@dancres.org> + + * Rewrite the contents() core. It was just way too complex, had too much + retro-fitting and there have been some complaints of duplicates which will + be down to a hole in the overly complex locking scheme of the old version. + +2006-02-01 Dan Creswell <dan@dancres.org> + + * Make sure we check for expired transactions in loopback mgr at time of + commit or abort. + + * Released 1.21 + +2006-01-30 Dan Creswell <dan@dancres.org> + + * Fix incorrect import in lease handlers configuration + + * Released 1.21-pre4 + +2006-01-29 Dan Creswell <dan@dancres.org> + + * Fix deadlock which can occur when an operation attempts to add state + to TxnState whilst it is concurrently being resolved. These operations + should receive an exception indicating a user-programming error + but instead cause deadlock. + + * Fix bug where we won't kill off associated notify's if we abort a + non-null transaction. + +2006-01-26 Dan Creswell <dan@dancres.org> + + * Make sure we close RandomAccessFiles used in logging to prevent some + OS'en running out of file handles (some seem to cleanup on their own). + + * Released 1.21-pre3 (limited circulation) + +2006-01-19 Dan Creswell <dan@dancres.org> + + * Add support for a loopback transaction manager which can be enabled by + defining it's Exporter using the configuration variable loopbackTxnExporter. + Note the manager can only be used to co-ordinate transactions against the + blitz instance that it shares the JVM with. It cannot co-ordinate multiple + and/or remote participants such as other Blitz instances + [EXPERIMENTAL - USE AT YOUR PERIL] + +2006-01-12 Dan Creswell <dan@dancres.org> + + * Fix bug in BlitzServiceImpl.newView where for JavaSpace05 compatibility + we should only hold locks if the transaction is non-null. Do the same + for LocalSpace. Thanks to Simon Vicary for the bug report and unit test + + * Released 1.21-pre2 + +2006-01-09 Dan Creswell <dan@dancres.org> + + * Remove unnecessary BitIndex copy from BitmapIndexer - BitIndex's are + thread safe so we can iterate without copying. + +2006-01-07 Dan Creswell <dan@dancres.org> + + * Revise transaction abort to spot situations where we needn't write an + entry to disk even though we have operations. This optimization is + triggered when the associated transaction is active and thus no records + have been written to disk such that undo can be done entirely in memory. + + * Fix an unlikely race condition where transaction operations could occur + after a decision had been taken to optimize and not emit a log record to + disk. These additional operations would invalidate the decision due to the + changes in state wrought on a transaction. + +2006-01-05 Dan Creswell <dan@dancres.org> + + * For write and write(Collection) have proxy populate stub and uuid fields + to save on network traffic and serialization costs. + +2006-01-04 Dan Creswell <dan@dancres.org> + + * Remove offset from MangledField and use the loop index server-side + to derive it. + +2006-01-03 Dan Creswell <dan@dancres.org> + + * Add support to experimental transport for transaction participant. + + * Fixed a socket leak in the experimental transport + +2005-12-29 Dan Creswell <dan@dancres.org> + + * Fix experimental transport to do readIfExists and takeIfExists correctly + rather than treat them like their normal brethren. + +2005-12-20 Dan Creswell <dan@dancres.org> + + * Released 1.20 + +2005-12-09 Dan Creswell <dan@dancres.org> + + * Make Blitz's internal view generation for contents methods strictly + apply the entry limit so as to cap memory usage. + +2005-12-08 Dan Creswell <dan@dancres.org> + + * Fix up nio experimental transport to allow clients to exit (convert + Txer to use of Daemon threads). + +2005-12-07 Dan Creswell <dan@dancres.org> + + * Add updateContents configuration variable which can be used to disable + dynamic updating of contents views - useful for memory consumption control. + +2005-12-03 Dan Creswell <dan@dancres.org> + + * Fixed deadlock when checkpointing happens concurrently with creation + of a store by EntryReposFactory + + * Released 1.19 + +2005-11-26 Dan Creswell <dan@dancres.org> + + * Make LocalSpace support JavaSpace05 and leases and proper RemoteEvent + setup + + * Updated documentation to make memory configuration information + more obvious. + + * Released 1.18 + +2005-11-25 Dan Creswell <dan@dancres.org> + + * More JINI 2.1 documentation tweaks + + * Fix preferred-list problems causing conflicts + + * Remove dependence on jini-ext.jar + + * Update service-ui documentation for JINI 2.1 + + * Separate preferred list generation for blitz-dl.jar into separate target + + * Released 1.17 + +2005-11-21 Dan Creswell <dan@dancres.org> + + * Optimize contents matching to stop doing hierarchy matching once one + of the template set has hit. + +2005-11-20 Dan Creswell <dan@dancres.org> + + * Integrate experimental nio transport. + +2005-11-02 Dan Creswell <dan@dancres.org> + + * Fix a problem where TxnLock failed to correctly handle a null callback + + * Fix a problem where duplicate Entry's could be returned from an + EntryView in presence of concurrent writes (affects contents()) + + * Released 1.16 + +2005-11-01 Dan Creswell <dan@dancres.org> + + * Fix StatsBoard::getStats() deadlock - thanks to Sirma Group for report + and suggested fix. + + * Fix a bug in contents() where the view is dynamically updated with + inappropriate Entry's + + * Update Db/Java to 2.0.90 + + * Released 1.15 + +2005-10-27 Dan Creswell <dan@dancres.org> + + * Make sure WriteEntryOpInfo only dirties at recovery if it's entry + wasn't on disk + + * Fix a recovery issue where the pristine state of a write was inserted + into the cache rather than the up-to-date state found on disk + + * Released 1.14 + +2005-10-20 Dan Creswell <dan@dancres.org> + + * Eliminate the additional roundtrip incurred downloading the first chunk of + EntryChits for use with JavaSpaceAdmin/JavaSpace05::contents + + * Released 1.13 + +2005-10-19 Dan Creswell <dan@dancres.org> + + * Fix problem where we're not holding locks when doing + JavaSpace05::contents() + +2005-10-17 Dan Creswell <dan@dancres.org> + + * Implement intelligent readahead based on use or not of snapshot method + +2005-10-07 Dan Creswell <dan@dancres.org> + + * Make sure Lifecycle.unregister is passed the correct reference + + * Change debugging logging down to levels of FINE or lower + + * Add multiplexing to nio test transport + + * Released 1.13-pre9 + +2005-09-26 Dan Creswell <dan@dancres.org> + + * Added some codebase caching into AnnotatingObjectOutputStream + because the RMIClassLoader infrastructure can sometimes trigger + opening of socket to codebase for each call to get a codebase for + a class. + +2005-09-16 Dan Creswell <dan@dancres.org> + + * Removed the aging support from ArcCache because it penalizes + concurrent take support. + +2005-09-15 Dan Creswell <dan@dancres.org> + + * Implemented nio-based test transport + + * Fixed LeaseImpl to be public for nio test transport + +2005-09-11 Dan Creswell <dan@dancres.org> + + * Fixed installer to work with JINI 2.1 + + * Released 1.13-pre8 + +2005-09-10 Dan Creswell <dan@dancres.org> + + * Revised iteration core to support leases and optional transaction + locking + + * Revised EntryViewAdmin to support leasing and optional transaction + locking + + * Merged tests for bulk ops, contents and visibility + + * Created configs for JINI 2.1 and 2.0 + + * Add preferred-list to dljar target in build.xml + + * Released 1.13-pre7 + +2005-09-09 Dan Creswell <dan@dancres.org> + + * Added bulk take and write to SpaceImpl + + * Added visibility/availability to SpaceImpl + + * Added remote interfaces for JavaSpace05 support + +2005-09-06 Dan Creswell <dan@dancres.org> + + * Fix race condition which could cause TxnPinger to abort a transaction + that was just committed. + + * Internally Released 1.13-pre6 + +2005-09-02 Dan Creswell <dan@dancres.org> + + * Make FindEntryOpInfo aggressively sync Entry deletion in cases where + the EntrySleeveImpl is on disk. This ensures better performance in + cases where we have to hit disk often such as swapping, cold-start + or FIFO. + + * Released 1.13-pre5 + + * Fix bug where transaction pinger might encounter + UnknownTransactionException for a transaction just committed and + then succeed with an abort thus erroneously undoing the transaction. + +2005-08-30 Dan Creswell <dan@dancres.org> + + * Refactor oid package to remove external dependency on UIDImpl. + Masking this makes it easier to introduce a new oid type as required for + fault tolerance. + + * Internally Released 1.13-pre4 + +2005-08-24 Dan Creswell <dan@dancres.org> + + * Added optional txn status checker which will detect transaction + manager death and abort associated transactions. Configured with + variable txnPingInterval as an interval in ms. + + * Display the codebase URL for a written Entry when dumping persistent + logs + +2005-08-10 Dan Creswell <dan@dancres.org> + + * Clean up some documentation re: JINI 2.1 + + * Update activation configuration + + * Released 1.13-pre3 + +2005-08-05 Dan Creswell <dan@dancres.org> + + * Revise persistent logger to use RandomAccessFile in sync mode which + is slightly faster than forced sync's via Channel. Note that buffer + size for the logger becomes a significant tuning factor and should be + sized to hold all concurrent transaction state at each log write. + +2005-07-22 Dan Creswell <dan@dancres.org> + + * Added support for logging failed takes and reads for use with + log dump tool. + + * Added versioning to Blitz log files + + * Added support for upgrade from 1.12 or less + + * Removed LoggableAction interface and support. Converted all code to + use of TxnOp which reduces duplication, increases generic code and + prepares the way for fault tolerance (fault tolerance preparation). + + * Associate lease renewals against Entry's under a write lock with + the transaction holding the lock rather than emitting them as + independent records (fault tolerance preparation). + +2005-07-21 Dan Creswell <dan@dancres.org> + + * Add support for emitting user data as part of a checkpoint snapshot + + * Add support for logging instance count summaries to checkpoint + snapshots and into the log files for use by log dumping tool and + associated analyzers. + + * Added a rudimentary command-line based monitoring tool which some + may prefer to dashboard + +2005-07-19 Dan Creswell <dan@dancres.org> + + * Added IOStat to provide statistics from the WriteDaemon. + + * Fix bug where FIFOAllocator might not correctly initialize. + + * Default write throttle to off. + + * Added documentation for log dumping tool + + * Released 1.12 + +2005-07-18 Dan Creswell <dan@dancres.org> + + * Reduce span of Db Txns in SpaceImpl + + * Released 1.11 + +2005-07-17 Dan Creswell <dan@dancres.org> + + * Make DumpEntries correctly initialize Disk before attempting to + scan. + + * Fix a problem where CacheIndexers weren't always notified of Entry + deletions leading to poor in-cache performance. + +2005-07-15 Dan Creswell <dan@dancres.org> + + * Fix a deadlock around TxnLocks which occurs under high load when + task bounds have been hit + +2005-07-14 Dan Creswell <dan@dancres.org> + + * Revise documentation to include new tools. Split out configuration + variables into sections and improved layout. + + * Revised output format of log dumping tool to be more parser friendly. + +2005-07-13 Dan Creswell <dan@dancres.org> + + * Convert an errant System.out to a Logger.log + + * Add support for manual triggering of lease reaping to complement + passive and automatic modes. Enabled by setting the relevant reap + time to LeaseReaper.MANUAL_REAP + + * Add a new tool, RequestReap to remotely trigger a manual lease reap. + +2005-06-30 Dan Creswell <dan@dancres.org> + + * Add more support for log dumping tool. In particular support more + of the possible records types. + + * Add a write queue throttle to prevent memory exhaustion and/or + overload. + + * Add more configuration settings for managing Db. + + * Improve recovery progress feedback. + + * Make sure we explicitly buffer logs we read during recovery. + +2005-06-27 Dan Creswell <dan@dancres.org> + + * Released 1.10 + +2005-06-26 Dan Creswell <dan@dancres.org> + + * Fix bug where transactions finalized in the commiting/aborting thread + caused deadlock owing to attempts to re-acquire mutex. + +2005-06-23 Dan Creswell <dan@dancres.org> + + * Fix lock conflict caused by parallel database existence tests and + database creation (workaround for a Db issue). + +2005-06-20 Dan Creswell <dan@dancres.org> + + * Make non-wildcard searches terminate immediately we determine there + cannot be a match. + + * Reduce de-serialization in searches + + * Reduce de-serialization in handling of recent writes + +2005-06-15 Dan Creswell <dan@dancres.org> + + * Add initial support for log dumping tool - good for debugging + both blitz and applications - see exactly what happened during a + run. + +2005-06-03 Dan Creswell <dan@dancres.org> + + * Fix database naming conflict caused by naming an Entry field meta + + * Released 1.09 + +2005-05-30 Dan Creswell <dan@dancres.org> + + * Change CacheIndexer default log level + + * Added ignoreLogConfig configuration variable to cause Blitz to ignore + logger Level configuration entry's in it's configuration file. This + allows a developer to use the standard logger configuration approach + when appropriate. + +2005-04-04 Dan Creswell <dan@dancres.org> + + * Fix WriteEntryOpInfo to markDirty committed entries if they are + not marked dirty when unpinned. If they are pinned they can't have + been written to disk yet and thus they should still be dirty but + mightn't be if they got temporarily dropped into WriteScheduler due + to cache pressure + + * Do a pre-check before executing some more costly logging statements + + * Don't bother asking for an Entry unless we're going to be able to + actually initialize an indexer with it + + * Tune Db/Java to handle swapping better + + * Add a static serialVersionUID to DashboardUI::Factory to avoid + problems with differences in Inca X releases + + * Optimize swapping in transient mode + + * Released 1.08 + +2005-03-31 Dan Creswell <dan@dancres.org> + + * Fix a bug where transaction locks might be released prematurely + at commit/abort + +2005-03-21 Dan Creswell <dan@dancres.org> + + * Lower layers of blitz.entry can end up with CacheIndexer's full of + DELETED Entry's which are wasted matches. Fix CacheIndexers to ignore + such Entry's + +2005-03-15 Dan Creswell <dan@dancres.org> + + * Added support for per-Entry type constraints. See + org.dancres.blitz.config.EntryConstraint + + * Added CacheSize constraint to override the global cache setting + and set a cache size for a specific Entry type. This replaces the + old mechanism for setting Entry specific cache size - update your + .config's accordingly + + * Added Fifo constraint to enforce FIFO ordering in searches and + writes for a specific Entry type. + + * Added support for Entry browsing to Dashboard - contributed + by Phil Bishop at Inca X + + * Released 1.07 + +2005-03-08 Dan Creswell <dan@dancres.org> + + * Make StartDashboard's timeout configurable via system property. + To override the default timeout, specify -DmaxDiscover=<ms> + + * Released 1.06 + +2005-03-04 Dan Creswell <dan@dancres.org> + + * Added disableBitmaps boolean config variable to disable bitmap + indexing if it proves un-performant or broken. + +2005-03-03 Dan Creswell <dan@dancres.org> + + * Added support for JavaSpaceAdmin interface as implemented by + Outrigger. This will allow appropriate space browsers to interrogate + and modify the contents of a Blitz instance. + + * Fix a bug where renew/cancel didn't manage stats correctly + +2005-03-01 Dan Creswell <dan@dancres.org> + + * Moved reset of stats from SleeveCache::close to + SleeveCache::deleteAll. + + * Added support for caching indexing using Bitmaps. Applicable in + situations where caches are of fixed size they are much quicker + than the equivalent HashMapIndexer whilst having similar memory + consumption in most cases. + +2005-02-19 Dan Creswell <dan@dancres.org> + + * Added support for remote triggering of Entry cleanup. + + * SpaceImpl::find should abort a null transaction in face of exceptions + not prepAndCommit + + * Upgraded to Db 1.7.1 + +2005-02-08 Dan Creswell <dan@dancres.org> + + * Fixed a nasty race condition in LockCache where an old reference + can cause invalidation of a current lock. + + * Merge support from FT for individual Entry cache sizes. + + * Released 1.05 + +2005-01-13 Dan Creswell <dan@dancres.org> + + * Fix a deadlock which can occur in writing Entry's with small cachesize + + * Speculative deadlock fix which might occur in updating Entry's with + small cachesize + + * Split retry/deadlock avoidance code into a framework (RetryingUpdate + and RetryableOperation) + + * Use deadlock avoidance framework in various parts of EntryStorage + + * Relax isolation levels on disk-based tuple scans. Reduces lock + conflicts, lock demands and increases concurrency. Also yields a + performance improvement even in cache-restricted cases. + + * Big thanks to Dylan Wilson for all his testing and reporting effort + that fuelled the above changes and has resulted in a better product. + + * Fixed the release scripts to uniquely name the installer to + fix SourceForge name conflicts. + + * Released 1.04 + +2005-01-10 Dan Creswell <dan@dancres.org> + + * Fix a deadlock which can occur during deletion of large Entry's. + (Thanks to Dylan Wilson for a great bug report). + +2004-12-31 Dan Creswell <dan@dancres.org> + + * Fix a minor problem where an abort can dump a non-fatal + UnknownTransactionException during recovery. Recovery will still + complete and no damage has been done. + +2004-12-29 Dan Creswell <dan@dancres.org> + + * Fixed a bug in meta.Registry where initializer results were not + forcible commited to disk. + + * Released 1.03 + +2004-12-20 Dan Creswell <dan@dancres.org> + + * Make Blitz obey the contents of initialGroups + + * Released 1.02 + +2004-12-14 Dan Creswell <dan@dancres.org> + + * Make new version attributes override those in LookupStorage + + * Released 1.00 + + * Fix a deadlock between checkpointer and processing of newly + arrived Entry's being passed to blocked search tasks + (thanks to Joseph Wang for another quality bug report) + + * Released 1.01 + +2004-12-01 Dan Creswell <dan@dancres.org> + + * Upgraded to Db/Java 1.7.0 + + * Released 0.99 + + * Merged FieldsStat from -idev + + * Merged Entry structure stuff from -idev dashboard + +2004-11-15 Dan Creswell <dan@dancres.org> + + * Released 0.98 + +2004-11-14 Dan Creswell <dan@dancres.org> + + * Reduced -dl.jar footprint + + * Merged new rio config containing serviceui support (contributed by + Jerome Bernard) + +2004-11-05 Dan Creswell <dan@dancres.org> + + * Fixed dashboard to not tweak the look and feel when run as ServiceUI + +2004-11-04 Dan Creswell <dan@dancres.org> + + * Added a setContent(null) into ArcCache when swapping a CBD to + b1 or b2 - reduces memory footprint + +2004-10-26 Dan Creswell <dan@dancres.org> + + * FindEntryOpInfo should not unpin an Entry - that should only be done + by WriteEntryOpInfo. This could lead to inaccurate notify behaviour + under very rare circumstances + +2004-09-30 Dan Creswell <dan@dancres.org> + + * Fix bug where prepared state may not be restored correctly + during recovery + + * Release 0.97 + +2004-09-23 Dan Creswell <dan@dancres.org> + + * Fix a deadlock induced by checkpointing whilst an EntryRepository + is being demand loaded (thanks to Joseph Wang for a great bug report) + + * Released 0.96 + +2004-09-21 Dan Creswell <dan@dancres.org> + + * Fix a potential lock conflict when searches are happening whilst + WriteDaemon performs a delete + +2004-09-16 Dan Creswell <dan@dancres.org> + + * Fix a CacheIndexer initialization bug which can break all cache + matching and associated reads/takes. Typical symptom was an + ArrayIndexOutOfBoundsException which could be easily confused with + a false positive caused by Entry schema changes. + +2004-09-09 Dan Creswell <dan@dancres.org> + + * Fix silly incorrect optimization that breaks matching. + + * Released 0.94 + +2004-08-22 Dan Creswell <dan@dancres.org> + + * Added HostStat + + * Added new examples for EntrySizer and a simple HelloWorld + + * Added template configurations for handling large objects + + * Released 0.93 + +2004-08-21 Dan Creswell <dan@dancres.org> + + * Tweaked SleeveCache to not bother searching if no entry's are + present rather than hit cache and then EntryStorage + + * Added diagnostic output to CacheIndexer + + * Added ServiceUI to the list of required packages for compilation + + * Added a snapshot test (from the JSIP package - thanks to Phil and + Nige) + +2004-08-06 Dan Creswell <dan@dancres.org> + + * SpaceImpl::write was holding txn open way longer than it needs to. + +2004-08-05 Dan Creswell <dan@dancres.org> + + * Added throttling support on event and task queues to prevent + high-load from causing runaway heap consumption problems. Configured + via eventQueueBound and taskQueueBound respectively + + * Added support for multiple event processor threads in EventQueue + to allow for balancing between event generation (typically from writes) + and matching/dispatching as remote events. Configured via + maxEventProcessors + +2004-08-03 Dan Creswell <dan@dancres.org> + + * Make sure we close ObjectStreams used during (un)mangling. + This is for tidyness/robustness - doesn't seem to cause a memory leak. + +2004-08-02 Dan Creswell <dan@dancres.org> + + * Remove need for initialAttrs to be specified. + + * Released 0.92 + +2004-07-31 Dan Creswell <dan@dancres.org> + + * Added EntrySizer utility to class to assist in storage/memory + usage estimation. + +2004-07-29 Dan Creswell <dan@dancres.org> + + * Fix build/release to include currently linked je.jar + + * Released 0.91 + +2004-07-26 Dan Creswell <dan@dancres.org> + + * Merged ServiceUI support for dashboard + + * Released 0.90 + +2004-07-16 Dan Creswell <dan@dancres.org> + + * Revised LockMgr to use a reference queue against a standard + HashMap rather than SoftHashMap which is less efficient. + + * Merged a patch from Sleepycat to fix an errant + LogFileNotFoundException + +2004-07-15 Dan Creswell <dan@dancres.org> + + * Turn off lock timeouts which seem to be breaking things + under load + +2004-07-12 Dan Creswell <dan@dancres.org> + + * Make sure we sync on closing a log file + + * Released 0.89a + +2004-07-09 Dan Creswell <dan@dancres.org> + + * Don't use DelegatingBufferStream2 until it handles oversized + writes correctly + +2004-07-05 Dan Creswell <dan@dancres.org> + + * Fixed up some disk initialization order issues when transient + personality is active. + +2004-06-28 Dan Creswell <dan@dancres.org> + + * Fixed a build problem (really include je 1.5.0) + + * Released 0.89 + + * Added StartFromConfig to the dash package to permit use of + dashboard in secure configurations etc. + +2004-06-27 Dan Creswell <dan@dancres.org> + + * Fixed a locking problem in the txn lock manager + + * Modified prevayler to use nio a little more + + * Released 0.88 + +2004-06-23 Dan Creswell <dan@dancres.org> + + * Make SearchVisitorImpl cleanup it's txn listener + + * Released 0.87 + +2004-06-22 Dan Creswell <dan@dancres.org> + + * Fixed several try/catch and lock blocks in TxnState + + * Make sure transaction status is reflected correctly to currently + blocked reads/takes + + * Abort blocked reads/takes waiting on a resolved transaction with + a TransactionException + + * Added a tool to remotely trigger hot backup + + * Released 0.86 + +2004-06-21 Dan Creswell <dan@dancres.org> + + * Added experimental hot backup support accessible via BlitzAdmin + + * Fixed bug in Disk.dbExists which prevented recovery from backup + + * Fixed a checkpointing problem where not all state might have made + it to disk + + * Modified LookupStorage/Data to hold Entry attributes in a + MarshalledObject + + * Upgrade to Db/Java 1.5.0 + +2004-06-18 Dan Creswell <dan@dancres.org> + + * Revised checkpointing to block logging for less time. + +2004-06-15 Dan Creswell <dan@dancres.org> + + * Make Blitz lock it's storage location to prevent running two + instances against the same storage risking corruption. + +2004-06-14 Dan Creswell <dan@dancres.org> + + * Added support for an identity transaction which allows for + transaction like operations but with no logging. + +2004-06-11 Dan Creswell <dan@dancres.org> + + * Fixed a bug where we might join() before fully init'd + +2004-06-10 Dan Creswell <dan@dancres.org> + + * Made it possible to have several LeaseReaper's active, each with + their own set of Reapables and with their own sets of filters. + +2004-06-04 Dan Creswell <dan@dancres.org> + + * Fixed a problem with batch lease renewals + + * Fixed a broken interface which is all public but had a package + private return value. Think the compiler should've caught it. Thanks + to Karl Koster for helping with testing. + + * Released V0.85 + +2004-06-01 Dan Creswell <dan@dancres.org> + + * Updated Db/Java to 1.4.10 + + * Fix indexes to configure databases for duplicate support (if we don't + we loose entry's - gulp!) + + * Released V0.83 + + * Fixed a bug in the lease tracker which wasn't permitting creation + of the database from scratch. + + * Released V0.84 + +2004-05-25 Dan Creswell <dan@dancres.org> + + * Changed CacheLines to use IntHashMap for hashcode to Entry UID + matching + + * Revised CacheLine to use a Set rather than a Map for Ids + + * TxnLock now lazily creates the conflicts list + + * Added a new experimental concurrent batcher and marked the old + version stable + +2004-05-19 Dan Creswell <dan@dancres.org> + + * Make sure we close the server socket on debugger exit + + * Fix LeaseImpl::canBatch to discriminate on the space instance + responsible + + * Fix LeaseMapImpl::canContainKey to discriminate on the space instance + responsible + + * Updated ServiceLocator to allow for timeouts + + * Updated tools to use ServiceLocator timeouts + + * Released V0.82 + +2004-05-17 Dan Creswell <dan@dancres.org> + + * Fixed hierarchical matching bug triggered by having no enclosing + active transaction. + + * Released V0.81 + +2004-05-16 Dan Creswell <dan@dancres.org> + + * Initial fork/port to Db Java + + * Initial documentation revision + + * Released V0.8 + +2004-05-02 Dan Creswell <dan@dancres.org> + + * Released V2.0.5 + + * Modified SyncAndShutdown to accept spacename or lus host and + spacename as parameters + +2004-04-30 Dan Creswell <dan@dancres.org> + + * Merged Ussama Baggili's changes to allow dashboard to discover a + blitz instance via unicast or multicast discovery. + +2004-04-29 Dan Creswell <dan@dancres.org> + + * TxnLock stuff moved to txnlock package + + * Fixed some txnlock state visibility issues + + * Removed unnecessary dirtying of cache block descriptors in + WriteEntryOpInfo + + * Modified CacheListener and ArcCache to make dirtying information + available to allow CacheIndexer to better manage search candidates. + + * Cleared out the old deletion hinting from TupleLocator impls. + + * Added BlockingOpsStat to track current number of blocking reads + and takes + + * Updated dashboard to display additional blocking stats + +2004-04-28 Dan Creswell <dan@dancres.org> + + * Fixed a NullPointerException problem in Disk.deleteFiles + + * Added caches for parents and fields to EntryMangler to accelerate + mangling and unmangling + +2004-04-27 Dan Creswell <dan@dancres.org> + + * Added some caching of marshalled txn mgrs to remove repeated + conversion into MarshalledObjects. + +2004-04-26 Dan Creswell <dan@dancres.org> + + * Released V2.0.4 + +2004-04-22 Dan Creswell <dan@dancres.org> + + * Fixed race condition where client's could be performing transactional + operations before join was complete. + +2004-04-13 Dan Creswell <dan@dancres.org> + + * Added an experimental solution to keep stats up-to-date in the face + of lease expiry - still not 100% timely + +2004-04-08 Dan Creswell <dan@dancres.org> + + * Tweaked the hash-code algorithm for UIDImpl to reduce collisions + +2004-04-06 Dan Creswell <dan@dancres.org> + + * Modified DumpEntries to compute how many entries were ignored due + to their lease being expired + +2004-04-04 Dan Creswell <dan@dancres.org> + + * Released V2.0.3 + + * Fix stupid bug in Null txn initializer + +2004-04-02 Dan Creswell <dan@dancres.org> + + * Released V2.0.2 + + * Revised documentation to cover dashboard, SyncAndShutdown + and DumpEntries + + * Merged dashboard source code from Inca X + +2004-04-01 Dan Creswell <dan@dancres.org> + + * Added SyncAndShutdown and DumpEntries tools + +2004-03-30 Dan Creswell <dan@dancres.org> + + * Blitz shouldn't bother saving local transaction manager in log + records + + * Added logger output to announce active storage personality + + * Modified cache usage to allow for aging of entry's that are about + to be taken + +2004-03-29 Dan Creswell <dan@dancres.org> + + * Fixed lease expiry initialization bug in write() and notify() + +2004-03-26 Dan Creswell <dan@dancres.org> + + * Fixed a bug in the CacheLine hint handling code where it assumed + that the UID to be demoted would always be in the cache at the + time + + * Revised admin documentation to cover shutdown/destroy configuration + +2004-03-24 Dan Creswell <dan@dancres.org> + + * Added configuration variable (compliantDestroy) to enable/disable + erasing of state when destroy is invoked (after discussion with + John McClain) + + * Added a shutdown method which can be used to stop Blitz without + erasing state regardless of the compliantDestroy variable's state + +2004-03-23 Dan Creswell <dan@dancres.org> + + * Fixed Blitz to load join management aspects from config file if + the user defines it + + * Added rule (jars) to build.xml for compiling and building just + the .jars with no generation of javadoc etc + +2004-03-21 Dan Creswell <dan@dancres.org> + + * Improved performance of snapshot + + * Fixed several performance "dark-corners" in CacheIndexer + +2004-03-15 Dan Creswell <dan@dancres.org> + + * Fixed a bug where non-critical WriteDaemon threads were not being + shutdown cleanly causing Blitz to sometimes fail to exit immediately + +2004-03-14 Dan Creswell <dan@dancres.org> + + * Cleaned up stats handling in entry package. Moved stats updates + into OpInfo instances. Split accounting/stats generation into + CounterImpl + + * Added stat to track Entry count plus associated switch + + * Expanded stats client example + + * Added additional helper methods to TypesStat and OpStat + + * Documentation updated to reflect new stats + +2004-03-13 Dan Creswell <dan@dancres.org> + + * Modified ConfigAssistant to print a general note about configuring + persistent directories in addition to the OS-specific instructions. + (Suggested by Ussama Baggili) + + * Added a stat which provides information about the current number + of active transactions Blitz is handling + + * Reworked stats package separating out the stats generation/creation + role from the stats presentation role + +2004-03-11 Dan Creswell <dan@dancres.org> + + * Fixed a bug in Blitz's prepareAndCommit implementation where + the wrong state could be returned + + * Fixed a bug where TransientPersonality might delete currently active + files leaving to bad shutdown + +2004-03-03 Dan Creswell <dan@dancres.org> + + * Released V2.0.1 + + * Fixed bug in OID Allocation which could cause recovery problems + should initial setup fail before completion + + * Fixed bug where EventQueue could be interrupted whilst updating + event generator sequence numbers as part of restart + + * Cleaned up Registry API by splitting methods into RegistryAccessor + + * Fixed bug where not all cached entries were being considered for + wildcard match + + * Added pdf file explaining how to use Blitz in embedded mode + +2004-02-24 Dan Creswell <dan@dancres.org> + + * Added BlitzAdmin interface + + * Added ability to trigger checkpoint remotely via BlitzAdmin + +2004-02-19 Dan Creswell <dan@dancres.org> + + * Fixed Blitz to invoke ActivationGroup::inactive() during destroy() + to ensure garbage collection is performed and classloaders are + dumped + +2004-02-04 Dan Creswell <dan@dancres.org> + + * Released V2.0.0 + + * Added support for Db 4.2 + + * Added ConfigGuide, a tool to assist in initial setup/installation + of Blitz + + * Renamed ConfigGuide to ConfigAssistant + + * Updated tuning guide, install notes etc + +2004-02-03 Dan Creswell <dan@dancres.org> + + * Introduced BootContext which allows components to be aware of various + bits of boot-time information for purposes of recovery etc + + * Implemented a BootInfo instance, UnsyncdOps, which is added to + BootContext to advise components of the maximum number of log ops + that may have accrued since the last sync/checkpoint + + * Modified AllocatorImpl to use UnsyncdOps for resync'ing of oid + allocators. Removes the need for user code to be involved in the + allocator recovery process + + * Added rules to allow building/release of binaries for Db4.1 and + Db4.2 + +2004-02-02 Dan Creswell <dan@dancres.org> + + * Implemented BufferingPrevaylerImpl + + * Implemented TimeBarrierPersistent and TimeBarrierPersonality which + allows trading of persistence QoS against speed + + * Implemented automatic log cleanup. Experimental for now so it can + be configured off through the appropriate StorageModel's + +2004-01-28 Dan Creswell <dan@dancres.org> + + * Separated the checkpointing code out of TxnManager and made it + abstract to allow easier changes in policy + + * Added support for storage personality's/models + + * Moved the persistence initialization out of TxnManager and into + Persistent storage model + + * Implemented NullPrevayler to allow for log-less operation + + * Implemented NeverTrigger to allow for checkpoint-less operation + + * Create Transient storage model which makes Blitz act like a + disk-backed cache + +2004-01-24 Dan Creswell <dan@dancres.org> + + * Added DebugILFactory which allows a programmer to insert a custom + invocation layer into Blitz's endpoint stack + + * Added TimingInvocationHandler which logs the duration of a remote + call to console and can be configured into the remote stack via + DebugILFactory + +2004-01-22 Dan Creswell <dan@dancres.org> + + * Added experimental support for concurrent log write batching where + one batch can be written to disk whilst another is forming + + * Added support for a log buffer. Allows for all writes in a batch + to be rendered into a buffer and block written to disk for better + throughput + +2004-01-20 Dan Creswell <dan@dancres.org> + + * Released V1.1.4 + + * Fixed an incorrect configuration variable reference: dbCache + + * Added config option to allow setting of max simultaneous Db txn's + + * Fixed TxnManagerState to correctly save/load it's clock state - + required during recovery + + * Fixed a checkpoint bug which sometimes resulted in a lost entry. + SyncFinalizer now invokes txn_checkpoint with Db.DB_FORCE + +2004-01-20 Dan Creswell <dan@dancres.org> + + * Added integrity checking + + * Added logging for LoginContext.login() failures + +2004-01-15 Dan Creswell <dan@dancres.org> + + * Tweaked code to compile under JDK 1.5 - includes some code in + Debugger to perform programmatical stack dumps + +2004-01-13 Dan Creswell <dan@dancres.org> + + * Released V1.1.3 + + * Updated some Javadoc + + * Updated documentation + + * Changed org.dancres.blitz.Logging to force use of a predefined + ConsoleHandler which fixes a problem with losing logging messages with + a level less than INFO + +2004-01-12 Dan Creswell <dan@dancres.org> + + * Moved PINNED EntrySleeve handling into WriteScheduler + + * MEMORY_ONLY became PINNED + + * Fixed deadlock in WriteBuffer (TxnStress strikes again) - + don't hold locks across I/O! + + * Rewrote WriteBuffer to better consolidate writes and reduce load + on WriteDaemon + +2004-01-11 Dan Creswell <dan@dancres.org> + + * Fixed WriteDaemon to correctly handle a desiredPendingWrites value + of 0 + + * Added a MemoryStat to track maximum available and current memory + usage + +2004-01-08 Dan Creswell <dan@dancres.org> + + * Fixed a deadlock by making EntryStorage::load use non-blocking + disk transactions + + * Added non-blocking disk transactions + + * Modified LocalSpace to support full transactional operations. + Provides embedded space capability + + * Added Debugger tool. See org.dancres.blitz.Debugger + + * Created TxnStress to thrash Blitz. It worked, found a deadlock! :( + +2004-01-05 Dan Creswell <dan@dancres.org> + + * Released V1.1.2 + + * Fixed a deadlock. Rarely happens as it requires a particular step + in checkpoint to happen at exactly the same time as a del of an + EntrySleeve from an index. Both the checkpoint and the del must + hit the same page at pretty much the same time and in one particular + order + +2004-01-04 Dan Creswell <dan@dancres.org> + + * Revised lease handling code. Fixed a bug in the lease bounding + for entries where we weren't searching for the correct config value. + Much cleaner now + + * Released V1.1.1 + + * Replaced use of ":" in .config files with + System.property("path.separator") to be more cross-platform. Thanks + to Olaf Bergner for this suggestion + +2004-01-02 Dan Creswell <dan@dancres.org> + + * Added a tuning guide + + * Various documentation tweaks + +2003-12-17 Dan Creswell <dan@dancres.org> + + * Released V1.1.0 + + * Recovery of oid allocation simplified + + * Notify registration recovery rewritten to allow full recovery from + log files alone + +2003-12-16 Dan Creswell <dan@dancres.org> + + * Released v1.0.2 + + * Support for dumping of useful disk performance statistics + + * Removed excessive log flushing + +2003-12-15 Dan Creswell <dan@dancres.org> + + * Released v1.0.1 + + * Fixed bug in checkpointing where checkpoint record was written before + all buffers were flushed + +2003-12-12 Dan Creswell <dan@dancres.org> + + * Released v1.0 - initial code drop +