Commits on Feb 17, 2011
Commits on Feb 16, 2011
  1. ISPN-925 race condition in DistributionManagerImpl

    maniksurtani committed Feb 16, 2011
    * Better naming than Mircea's original commit on this for data locality results
    * Use of an enum rather than static final class instances
  2. ISPN-902, ISPN-493, ISPN-914 combined into one. Details:

    maniksurtani committed Feb 16, 2011
    * Change the DistSyncTimeout default from 1 minute to 4 minutes
    * Update RehashControlCommand to contain 3 more phases, for draining and applying transaction logs from providers onto joiners
    * Add a RemoteTransactionLogDetails object to encapsulate a state map and incomplete transaction log
    * Add externalizer hooks for the above
    * Add a RemoteTransactionLog facade around a TransactionLog, to allow joiners to control transaction log draining on a provider in an easy manner.  The RemoteTransactionLog just issues RehashControlCommands, but presents this to the join task in a more readable manner.
    * Clean up ConsistentHash implementations (logging, redundant methods, etc)
    * Add Configuration and ComponentRegistry to CacheRpcCommands, so that InboundInvocationHandler wouldn't need to look these components up every time when retrying commands.
    * CommitCommand now has a return type that can request for a resend of the prepare if the global transaction is not recognised.  This can happen if a node sees a commit but not the prepare, for example during a rehash when a prepared node fails and the commit is sent to a new data owner.
    * TransactionLogger now blocks and holds all new transactions from starting when applying state on a node during a LEAVE, to prevent overwriting.  Note that this doesn't affect the state provider, just the recipient.
    * TransactionLogger's logic on determining whether shouldDrainWithoutLock() is much more sophisticated now, watching for progress being made during a non-blocking drain.
    * DistTxInterceptor checks on transaction logging is reordered now, to provide more accurate semantics and to minimise races.  Note that races are NOT eliminated, and will need to be handled during the commit-retry process.  But this minimises it, since transaction logging is faster and cheaper.
    * Update DistributionInterceptor to deal with retries when committing, and also to broadcast commit messages to freshly calculated target nodes as well as nodes that the prepare had previously been sent to, as this could be a disjoint set.
    * CommandAwareRpcDispatcher now doesn't handle retries or acquiring processing locks with the DistributedSync.  Instead this is handled by the InboundInvocationHandler, the retry logic encapsulated in the RetryQueue inner class.  This is a far more robust approach than relying on the sender to re-send a message.
    * Rehash tasks should not block on invalidations
    * Rehash state pulls should happen in parallel.
  3. Update functional tests

    maniksurtani committed Feb 16, 2011
    * Extract helper functions from BaseDistFunctionalTest to DistributionTestHelper
    * ISPN-902 Data consistency across rehashing - add functional test for this
    * ISPN-902 Data consistency across rehashing - add stress test for this, disabled by default.  Intended to be run manually.
  4. Update RpcManager SPI

    maniksurtani committed Feb 16, 2011
    RpcManager invoke methods used to return a List of Responses - this doesn't help when you need to identify the Address of the responder.  This information is available lower down the stack (i.e., in Transport impls) but is thrown away.  This change updates the RpcManager interface and related code so that invoke methods now return a Map<Address, Response>.
  5. Improve logging verbosity, cleanliness and detail. Provide better toS…

    maniksurtani committed Feb 16, 2011
    …tring implementations where possible.
  6. DistSync's releasing of a processing lock should explicitly take in a…

    maniksurtani committed Feb 16, 2011
    … parameter as to whether the lock was exclusive or not, since exclusive lockers could also lock again non-exclusively in certain access patterns and this should work to maintain re-entrancy on the locks.
  7. Better test helpers

    maniksurtani committed Feb 16, 2011
  8. ISPN-931 - NPE in /infinispan-gridfs-webdav demo

    galderz committed Feb 16, 2011
    Upgrading to Webdav 2.0.1 in order to see if these exceptions go away.
  9. ISPN-930 - race condition in Lock reordering could cause Lucene Index…

    Sanne committed with galderz Feb 15, 2011
    … corruption when a CacheLoader is enabled
    The workaround is to avoid writing two different values under the same key.
    With Lucene, the first bytes are rewritten at file close time to add checksum
    information to the head of the file.
    Previously we where writing each file chunk as soon as possible to be
    memory friendly, getting the first chunk back as needed to edit it and putting
    it into the cache modified - apparently if these operations are close enough in
    time, the value without the checksum might end up to be the value stored (ISPN-575).
    What we do with this patch is hold the writing of the first chunk up to the file
    close operation, so that each chunk is written only once.
    As a side effect, we can simplify the batch operations and the intermediate flush
    operations, as they don't need to detect if we are in closing phase.
  10. ISPN-921 - REST server war deployment problem for standalone REST server

    galderz committed with mmarkus Feb 15, 2011
    * Solved by making sure findEntry, which returns null instead of throwing
    an exception is used.
    * Made infinispan.config point to an existing configuration file.
  11. ISPN-927 - Commits in separate thread to cache operations are not pro…

    galderz committed with mmarkus Feb 15, 2011
    Fixed by making sure affectedKeys are part of the AbstractCacheTransaction so
    that these can be retrieved back from the transaction table rather than rely
    on a thread locals.
  12. added additional constructor

    mmarkus committed Feb 16, 2011
Commits on Feb 15, 2011
  1. ISPN-925 - race condition in DistributionManagerImpl

    mmarkus committed with maniksurtani Feb 15, 2011
Commits on Feb 11, 2011
  1. enhanced logging

    mmarkus committed with galderz Feb 10, 2011
  2. fixed intermittent failure

    mmarkus committed with galderz Feb 9, 2011
  3. ISPN-892 - fixed intermittent failure - both node 3 and 4 go down so …

    mmarkus committed with galderz Feb 8, 2011
    …it is possible for the key mapped on node 3 to be lost (as the backup is down as well)
  4. ISPN-892 - fixed intermittent failure - might happen that while shutt…

    mmarkus committed with galderz Feb 8, 2011
    …ing down two nodes the cluster to split and merge rather than rehash taking place.
  5. fixed intermittent failure

    mmarkus committed with galderz Feb 8, 2011
Commits on Feb 10, 2011
  1. Remove outdated EULA

    maniksurtani committed Feb 10, 2011
Commits on Feb 8, 2011
  1. ISPN-918 Stabilise lucene-directory test suite

    Sanne committed Feb 8, 2011
    Nothing bad going on: a test setup was failing due to more strict checks in Infinispan core. We actually expected this configuration to be invalid.
Commits on Feb 7, 2011
  1. Update javadoc footer

    maniksurtani committed Feb 7, 2011
Commits on Feb 4, 2011
  1. ISPN-915 - Cache.stop() should wait for on-going txs to finish

    galderz committed with mmarkus Feb 3, 2011
    * TransactionTable now waits for local and remote transactions to clear.
    * It waits for as long as transaction.cacheStopTimeout XML config says.
    * InvocationContextInterceptor checks whether the cache is stopping, and
    whether non transactional, or new transactions are being started, in
    which case it does not allow such invocations.
    * Finally, added some missing copyright headers.