[infinispan-commits] Infinispan SVN: r2324 - in branches/4.2.x: cachestore/cloud/src/main/java/org/infinispan/loaders/cloud and 99 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Sun Sep 5 08:05:45 EDT 2010
Author: mircea.markus
Date: 2010-09-05 08:05:39 -0400 (Sun, 05 Sep 2010)
New Revision: 2324
Added:
branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/ModificationsList.java
branches/4.2.x/core/src/test/java/org/infinispan/loaders/decorators/BatchAsyncCacheStoreTest.java
branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/package-info.java
branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/package-info.java
branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/package-info.java
branches/4.2.x/query/src/test/java/org/infinispan/query/config/CacheModeTest.java
Removed:
branches/4.2.x/core/src/main/java/org/infinispan/factories/context/
branches/4.2.x/query/src/main/java/org/infinispan/query/config/
branches/4.2.x/server/websocket/src/main/java/org/infinispan/websocket/
Modified:
branches/4.2.x/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/PreparableTransactionRunner.java
branches/4.2.x/cachestore/cloud/src/main/java/org/infinispan/loaders/cloud/CloudCacheStoreConfig.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/AbstractJdbcCacheStoreConfig.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/AbstractNonDelegatingJdbcCacheStoreConfig.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/DataManipulationHelper.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/DatabaseType.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/JdbcUtil.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/TableManipulation.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/connectionfactory/PooledConnectionFactory.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/connectionfactory/SimpleConnectionFactory.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStore.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreConfig.java
branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStore.java
branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/TableManipulationTest.java
branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreTest.java
branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreTest.java
branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreTest2.java
branches/4.2.x/cachestore/jdbm/src/main/java/org/infinispan/loaders/jdbm/JdbmCacheStoreConfig.java
branches/4.2.x/cachestore/jdbm/src/main/java/org/infinispan/loaders/jdbm/JdbmSerializer.java
branches/4.2.x/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreFunctionalTest.java
branches/4.2.x/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreTest.java
branches/4.2.x/cachestore/remote/src/main/java/org/infinispan/loaders/remote/RemoteCacheStore.java
branches/4.2.x/cachestore/remote/src/main/java/org/infinispan/loaders/remote/RemoteCacheStoreConfig.java
branches/4.2.x/cachestore/remote/src/test/java/org/infinispan/loaders/remote/RemoteCacheStoreTest.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/RemoteCacheManager.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/ServerStatistics.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/exceptions/TransportException.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/ConfigurationProperties.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/RemoteCacheImpl.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/ServerStatisticsImpl.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/async/DefaultAsyncExecutorFactory.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHash.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHashFactory.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHashV1.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/AbstractKeyOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/ContainsKeyOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/GetWithVersionOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/HotRodOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/PingOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/PutIfAbsentOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/RemoveIfUnmodifiedOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/ReplaceIfUnmodifiedOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/RetryOnFailureOperation.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/protocol/HotRodConstants.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/protocol/HotRodOperations.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/AbstractTransport.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/TransportFactory.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/PropsKeyedObjectPoolFactory.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/RoundRobinBalancingStrategy.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransport.java
branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransportFactory.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/CSAIntegrationTest.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/HitsAwareCacheManagersTest.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/HotRodIntegrationTest.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/RoundRobinBalancingIntegrationTest.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/RoundRobinBalancingStrategyTest.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/ServerRestartTest.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/WorkerThread.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/AbstractRetryTest.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/DistributionRetryTest.java
branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/ReplicationRetryTest.java
branches/4.2.x/core/
branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityService.java
branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityServiceFactory.java
branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityServiceImpl.java
branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyGenerator.java
branches/4.2.x/core/src/main/java/org/infinispan/atomic/AtomicMapLookup.java
branches/4.2.x/core/src/main/java/org/infinispan/commands/control/LockControlCommand.java
branches/4.2.x/core/src/main/java/org/infinispan/commands/read/EntrySetCommand.java
branches/4.2.x/core/src/main/java/org/infinispan/commands/read/KeySetCommand.java
branches/4.2.x/core/src/main/java/org/infinispan/commands/read/SizeCommand.java
branches/4.2.x/core/src/main/java/org/infinispan/commands/read/ValuesCommand.java
branches/4.2.x/core/src/main/java/org/infinispan/commands/tx/AbstractTransactionBoundaryCommand.java
branches/4.2.x/core/src/main/java/org/infinispan/commands/tx/PrepareCommand.java
branches/4.2.x/core/src/main/java/org/infinispan/commands/write/RemoveCommand.java
branches/4.2.x/core/src/main/java/org/infinispan/config/Configuration.java
branches/4.2.x/core/src/main/java/org/infinispan/config/ConfigurationValidatingVisitor.java
branches/4.2.x/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
branches/4.2.x/core/src/main/java/org/infinispan/config/parsing/ConfigFilesConvertor.java
branches/4.2.x/core/src/main/java/org/infinispan/container/EntryFactory.java
branches/4.2.x/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java
branches/4.2.x/core/src/main/java/org/infinispan/context/InvocationContext.java
branches/4.2.x/core/src/main/java/org/infinispan/distribution/ConsistentHashHelper.java
branches/4.2.x/core/src/main/java/org/infinispan/distribution/DefaultConsistentHash.java
branches/4.2.x/core/src/main/java/org/infinispan/factories/EmptyConstructorFactory.java
branches/4.2.x/core/src/main/java/org/infinispan/factories/MarshallerFactory.java
branches/4.2.x/core/src/main/java/org/infinispan/factories/StateTransferManagerFactory.java
branches/4.2.x/core/src/main/java/org/infinispan/factories/TransactionManagerFactory.java
branches/4.2.x/core/src/main/java/org/infinispan/factories/TransportFactory.java
branches/4.2.x/core/src/main/java/org/infinispan/factories/scopes/ScopeDetector.java
branches/4.2.x/core/src/main/java/org/infinispan/factories/scopes/Scopes.java
branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistCacheStoreInterceptor.java
branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistLockingInterceptor.java
branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistributionInterceptor.java
branches/4.2.x/core/src/main/java/org/infinispan/interceptors/InterceptorChain.java
branches/4.2.x/core/src/main/java/org/infinispan/interceptors/PassivationInterceptor.java
branches/4.2.x/core/src/main/java/org/infinispan/io/GridFile.java
branches/4.2.x/core/src/main/java/org/infinispan/io/UnsignedNumeric.java
branches/4.2.x/core/src/main/java/org/infinispan/jmx/AbstractJmxRegistration.java
branches/4.2.x/core/src/main/java/org/infinispan/jmx/ResourceDMBean.java
branches/4.2.x/core/src/main/java/org/infinispan/jmx/annotations/MBean.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/AbstractCacheLoaderConfig.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/AbstractCacheStore.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/CacheLoaderManagerImpl.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/cluster/ClusterCacheLoader.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/AsyncStore.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/AsyncStoreConfig.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/SingletonStore.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Commit.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Modification.java
branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Prepare.java
branches/4.2.x/core/src/main/java/org/infinispan/manager/CacheContainer.java
branches/4.2.x/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java
branches/4.2.x/core/src/main/java/org/infinispan/marshall/AbstractMarshaller.java
branches/4.2.x/core/src/main/java/org/infinispan/marshall/AbstractStreamingMarshaller.java
branches/4.2.x/core/src/main/java/org/infinispan/marshall/MarshalledValue.java
branches/4.2.x/core/src/main/java/org/infinispan/marshall/StreamingMarshaller.java
branches/4.2.x/core/src/main/java/org/infinispan/marshall/jboss/GenericJBossMarshaller.java
branches/4.2.x/core/src/main/java/org/infinispan/marshall/jboss/JBossMarshaller.java
branches/4.2.x/core/src/main/java/org/infinispan/remoting/ReplicationQueue.java
branches/4.2.x/core/src/main/java/org/infinispan/remoting/transport/jgroups/CommandAwareRpcDispatcher.java
branches/4.2.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java
branches/4.2.x/core/src/main/java/org/infinispan/transaction/TransactionLog.java
branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/CacheTransaction.java
branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/DeadlockDetectingGlobalTransaction.java
branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/RemoteTransaction.java
branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionTable.java
branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionXaAdapter.java
branches/4.2.x/core/src/main/java/org/infinispan/util/FileLookup.java
branches/4.2.x/core/src/main/java/org/infinispan/util/InfinispanCollections.java
branches/4.2.x/core/src/main/java/org/infinispan/util/LegacyKeySupportSystemProperties.java
branches/4.2.x/core/src/main/java/org/infinispan/util/Proxies.java
branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/AbstractInProcessNotifyingFuture.java
branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/IsolationLevel.java
branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/StripedLock.java
branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/containers/AbstractPerEntryLockContainer.java
branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/containers/AbstractStripedLockContainer.java
branches/4.2.x/core/src/main/java/org/infinispan/util/hash/MurmurHash2.java
branches/4.2.x/core/src/main/resources/config-samples/all.xml
branches/4.2.x/core/src/test/java/org/infinispan/affinity/BaseFilterKeyAffinityServiceTest.java
branches/4.2.x/core/src/test/java/org/infinispan/affinity/FilteredKeyAffinityService.java
branches/4.2.x/core/src/test/java/org/infinispan/affinity/LocalKeyAffinityServiceTest.java
branches/4.2.x/core/src/test/java/org/infinispan/api/mvcc/read_committed/CacheAPIMVCCTest.java
branches/4.2.x/core/src/test/java/org/infinispan/config/parsing/MinimalConfigurationParsingTest.java
branches/4.2.x/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
branches/4.2.x/core/src/test/java/org/infinispan/context/MarshalledValueContextTest.java
branches/4.2.x/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java
branches/4.2.x/core/src/test/java/org/infinispan/distribution/HashFunctionComparisonTest.java
branches/4.2.x/core/src/test/java/org/infinispan/distribution/SyncDistImplicitLockingTest.java
branches/4.2.x/core/src/test/java/org/infinispan/eviction/EvictionManagerTest.java
branches/4.2.x/core/src/test/java/org/infinispan/invalidation/BaseInvalidationTest.java
branches/4.2.x/core/src/test/java/org/infinispan/jmx/RpcManagerMBeanTest.java
branches/4.2.x/core/src/test/java/org/infinispan/loaders/FlushingAsyncStoreTest.java
branches/4.2.x/core/src/test/java/org/infinispan/loaders/UnnnecessaryLoadingTest.java
branches/4.2.x/core/src/test/java/org/infinispan/loaders/decorators/AsyncTest.java
branches/4.2.x/core/src/test/java/org/infinispan/loaders/dummy/DummyInMemoryCacheStoreFunctionalTest.java
branches/4.2.x/core/src/test/java/org/infinispan/lock/EagerLockingDisabledTest.java
branches/4.2.x/core/src/test/java/org/infinispan/profiling/DeadlockDetectionPerformanceTest.java
branches/4.2.x/core/src/test/java/org/infinispan/replication/SyncCacheListenerTest.java
branches/4.2.x/core/src/test/java/org/infinispan/replication/SyncReplTest.java
branches/4.2.x/core/src/test/java/org/infinispan/statetransfer/StateTransferFileCacheLoaderFunctionalTest.java
branches/4.2.x/core/src/test/java/org/infinispan/statetransfer/StateTransferReplicationQueueTest.java
branches/4.2.x/core/src/test/java/org/infinispan/test/AbstractInfinispanTest.java
branches/4.2.x/core/src/test/java/org/infinispan/test/PerCacheExecutorThread.java
branches/4.2.x/core/src/test/java/org/infinispan/test/TestingUtil.java
branches/4.2.x/core/src/test/java/org/infinispan/test/fwk/SuiteResourcesAndLogTest.java
branches/4.2.x/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java
branches/4.2.x/core/src/test/java/org/infinispan/tx/LargeTransactionTest.java
branches/4.2.x/core/src/test/java/org/infinispan/tx/TransactionManagerLookupTest.java
branches/4.2.x/core/src/test/resources/configs/named-cache-test.xml
branches/4.2.x/core/src/test/resources/configs/no-flush.xml
branches/4.2.x/core/src/test/resources/configs/string-property-replaced.xml
branches/4.2.x/core/src/test/resources/log4j.xml
branches/4.2.x/demos/ec2-ui/src/main/java/org/infinispan/ec2demo/web/CacheSearchServlet.java
branches/4.2.x/demos/ec2-ui/src/main/java/org/infinispan/ec2demo/web/CacheServletListener.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/CacheBuilder.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfinispanFluDemo.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfluenzaDataLoader.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfluenzaVirusCache.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Influenza_N_P_CR_Element.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Influenza_Parser.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/NucleotideCache.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Nucleotide_Protein_Element.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Nucleotide_Protein_Parser.java
branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/ProteinCache.java
branches/4.2.x/demos/gridfs-webdav/src/main/java/org/infinispan/demos/gridfs/GridStore.java
branches/4.2.x/demos/gui/src/main/java/org/infinispan/demo/InfinispanDemo.java
branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/FileListOperations.java
branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/InfinispanDirectory.java
branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/TransactionalLockFactory.java
branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/SegmentReadLocker.java
branches/4.2.x/parent/pom.xml
branches/4.2.x/query/src/main/java/org/infinispan/query/backend/KeyTransformationHandler.java
branches/4.2.x/query/src/main/java/org/infinispan/query/backend/QueryHelper.java
branches/4.2.x/query/src/main/java/org/infinispan/query/backend/QueryInterceptor.java
branches/4.2.x/query/src/test/java/org/infinispan/query/test/AnotherGrassEater.java
branches/4.2.x/server/rest/src/main/resources/sample_python_REST_client.py
branches/4.2.x/server/rest/src/main/resources/sample_ruby_REST_client.rb
branches/4.2.x/server/websocket/
branches/4.2.x/tree/
branches/4.2.x/tree/src/main/java/org/infinispan/tree/TreeStructureSupport.java
branches/4.2.x/tree/src/test/java/org/infinispan/api/tree/LazyDeserializationTreeCacheTest.java
branches/4.2.x/tree/src/test/java/org/infinispan/tx/TransactionManagerLookupTreeTest.java
Log:
merged from trunk r2274 through r2323
Modified: branches/4.2.x/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/PreparableTransactionRunner.java
===================================================================
--- branches/4.2.x/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/PreparableTransactionRunner.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/PreparableTransactionRunner.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -9,7 +9,6 @@
import com.sleepycat.je.Transaction;
import com.sleepycat.je.TransactionConfig;
import com.sleepycat.util.ExceptionUnwrapper;
-import org.infinispan.loaders.CacheLoaderException;
/**
* Adapted version of {@link TransactionRunner}, which allows us to prepare a transaction without committing it.<p/> The
Modified: branches/4.2.x/cachestore/cloud/src/main/java/org/infinispan/loaders/cloud/CloudCacheStoreConfig.java
===================================================================
--- branches/4.2.x/cachestore/cloud/src/main/java/org/infinispan/loaders/cloud/CloudCacheStoreConfig.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/cloud/src/main/java/org/infinispan/loaders/cloud/CloudCacheStoreConfig.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,7 @@
* <li><tt>requestTimeout</tt> - A timeout to use when communicating with the cloud storage
* provider, in milliseconds. Defaults to 10000.</li>
* <li><tt>lazyPurgingOnly</tt> - If enabled, then expired entries are only purged on access,
- * lazily, rather than by using the periodic eviction thread. Defaults to <tt>true</tt>.</li>
+ * lazily, rather than by using the periodic eviction thread. Defaults to <tt>false</tt>.</li>
* <li><tt>cloudService</tt> - The cloud service to use. Supported values are <tt>s3</tt> (Amazon
* AWS), <tt>cloudfiles</tt> (Rackspace Cloud), <tt>azureblob</tt> (Microsoft Azure), and
* <tt>atmos</tt> (Atmos Online Storage Service).</li>
@@ -45,8 +45,7 @@
private String proxyHost;
private String proxyPort;
private long requestTimeout = 10000;
- // TODO Once ISPN-334 is closed, consider setting this to false by default.
- private boolean lazyPurgingOnly = true;
+ private boolean lazyPurgingOnly = false;
private String cloudService;
private int maxConnections = 10000;
private boolean secure = true;
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/AbstractJdbcCacheStoreConfig.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/AbstractJdbcCacheStoreConfig.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/AbstractJdbcCacheStoreConfig.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,5 @@
package org.infinispan.loaders.jdbc;
-import org.infinispan.loaders.AbstractCacheStoreConfig;
import org.infinispan.loaders.LockSupportCacheStoreConfig;
import org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactoryConfig;
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/AbstractNonDelegatingJdbcCacheStoreConfig.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/AbstractNonDelegatingJdbcCacheStoreConfig.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/AbstractNonDelegatingJdbcCacheStoreConfig.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,5 @@
package org.infinispan.loaders.jdbc;
-import org.infinispan.loaders.LockSupportCacheStoreConfig;
-
/**
* An abstract configuration for JDBC cache stores which have support for locking.
*
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/DataManipulationHelper.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/DataManipulationHelper.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/DataManipulationHelper.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -47,7 +47,7 @@
*/
public abstract class DataManipulationHelper {
- private static Log log = LogFactory.getLog(DataManipulationHelper.class);
+ private static final Log log = LogFactory.getLog(DataManipulationHelper.class);
private ConnectionFactory connectionFactory;
private TableManipulation tableManipulation;
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/DatabaseType.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/DatabaseType.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/DatabaseType.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,9 +1,7 @@
package org.infinispan.loaders.jdbc;
-import java.util.Arrays;
-
/**
- * Supported database dialects for the Jdbc cache stores
+ * Supported database dialects for the JDBC cache stores
*
* @author Manik Surtani
* @since 4.1
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/JdbcUtil.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/JdbcUtil.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/JdbcUtil.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -35,13 +35,13 @@
import java.sql.Statement;
/**
- * Contains common methods used by jdbc CacheStores.
+ * Contains common methods used by JDBC CacheStores.
*
* @author Mircea.Markus at jboss.com
*/
public class JdbcUtil {
- private static Log log = LogFactory.getLog(JdbcUtil.class);
+ private static final Log log = LogFactory.getLog(JdbcUtil.class);
public static void safeClose(Statement ps) {
if (ps != null) {
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/TableManipulation.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/TableManipulation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/TableManipulation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -43,7 +43,7 @@
*/
public class TableManipulation implements Cloneable {
- private static Log log = LogFactory.getLog(TableManipulation.class);
+ private static final Log log = LogFactory.getLog(TableManipulation.class);
public static final int DEFAULT_FETCH_SIZE = 100;
@@ -179,7 +179,7 @@
statement = conn.createStatement();
statement.executeUpdate(sql);
} catch (SQLException e) {
- log.error("Error while creating table", e);
+ log.error("Error while creating table; used DDL statement: '" + sql + "'", e);
throw new CacheLoaderException(e);
} finally {
JdbcUtil.safeClose(statement);
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/connectionfactory/PooledConnectionFactory.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/connectionfactory/PooledConnectionFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/connectionfactory/PooledConnectionFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -45,7 +45,7 @@
*/
public class PooledConnectionFactory extends ConnectionFactory {
- private static Log log = LogFactory.getLog(PooledConnectionFactory.class);
+ private static final Log log = LogFactory.getLog(PooledConnectionFactory.class);
private ComboPooledDataSource pooledDataSource;
@Override
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/connectionfactory/SimpleConnectionFactory.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/connectionfactory/SimpleConnectionFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/connectionfactory/SimpleConnectionFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -38,7 +38,7 @@
*/
public class SimpleConnectionFactory extends ConnectionFactory {
- private static Log log = LogFactory.getLog(SimpleConnectionFactory.class);
+ private static final Log log = LogFactory.getLog(SimpleConnectionFactory.class);
private String connectionUrl;
private String userName;
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStore.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStore.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStore.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -68,7 +68,7 @@
@CacheLoaderMetadata(configurationClass = JdbcMixedCacheStoreConfig.class)
public class JdbcMixedCacheStore extends AbstractCacheStore {
- private static Log log = LogFactory.getLog(JdbcMixedCacheStore.class);
+ private static final Log log = LogFactory.getLog(JdbcMixedCacheStore.class);
private JdbcMixedCacheStoreConfig config;
private JdbcBinaryCacheStore binaryCacheStore = new JdbcBinaryCacheStore();
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreConfig.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreConfig.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreConfig.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,6 @@
*/
package org.infinispan.loaders.jdbc.mixed;
-import org.infinispan.loaders.AbstractCacheStoreConfig;
import org.infinispan.loaders.LockSupportCacheStoreConfig;
import org.infinispan.loaders.jdbc.AbstractJdbcCacheStoreConfig;
import org.infinispan.loaders.jdbc.DatabaseType;
Modified: branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStore.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStore.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStore.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -22,7 +22,6 @@
package org.infinispan.loaders.jdbc.stringbased;
import org.infinispan.Cache;
-import org.infinispan.config.Configuration;
import org.infinispan.container.entries.InternalCacheEntry;
import org.infinispan.container.entries.InternalCacheValue;
import org.infinispan.io.ByteBuffer;
@@ -81,7 +80,7 @@
@CacheLoaderMetadata(configurationClass = JdbcStringBasedCacheStoreConfig.class)
public class JdbcStringBasedCacheStore extends LockSupportCacheStore {
- private static Log log = LogFactory.getLog(JdbcStringBasedCacheStore.class);
+ private static final Log log = LogFactory.getLog(JdbcStringBasedCacheStore.class);
/**
* delimits the stream for stream transfer operations
Modified: branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/TableManipulationTest.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/TableManipulationTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/TableManipulationTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -79,7 +79,6 @@
assert false : "missing config param, exception expected";
} catch (CacheLoaderException e) {
other.setDataColumnType("VARCHAR(255)");
- assert true : "We do not expect a failure here";
}
other.createTable(mockConnection);
@@ -90,7 +89,6 @@
assert false : "missing config param, exception expected";
} catch (CacheLoaderException e) {
other.setIdColumnName("abc");
- assert true : "We do not expect a failure here";
}
other.createTable(mockConnection);
@@ -101,7 +99,6 @@
assert false : "missing config param, exception expected";
} catch (CacheLoaderException e) {
other.setDataColumnName("abc");
- assert true : "We do not expect a failure here";
}
other.createTable(mockConnection);
@@ -112,7 +109,6 @@
assert false : "missing config param, exception expected";
} catch (CacheLoaderException e) {
other.setDataColumnName("abc");
- assert true : "We do not expect a failure here";
}
other.createTable(mockConnection);
@@ -123,7 +119,6 @@
assert false : "missing config param, exception expected";
} catch (CacheLoaderException e) {
other.setDataColumnName("timestamp");
- assert true : "We do not expect a failure here";
}
other.setTimestampColumnType(null);
@@ -132,7 +127,6 @@
assert false : "missing config param, exception expected";
} catch (CacheLoaderException e) {
other.setIdColumnType("BIGINT");
- assert true : "We do not expect a failure here";
}
}
Modified: branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreTest.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -37,7 +37,6 @@
import org.testng.annotations.Test;
import java.io.Serializable;
-import java.util.concurrent.TimeUnit;
/**
* Tester class for {@link JdbcBinaryCacheStore}
Modified: branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreTest.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -31,7 +31,6 @@
import org.infinispan.loaders.jdbc.TableManipulation;
import org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactory;
import org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactoryConfig;
-import org.infinispan.loaders.jdbc.stringbased.DefaultKey2StringMapper;
import org.infinispan.loaders.jdbc.stringbased.DefaultTwoWayKey2StringMapper;
import org.infinispan.loaders.jdbc.stringbased.Person;
import org.infinispan.marshall.StreamingMarshaller;
Modified: branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreTest2.java
===================================================================
--- branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreTest2.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreTest2.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -83,7 +83,7 @@
}
/**
- * When trying to perists an unsupported object an exception is expected.
+ * When trying to persist an unsupported object an exception is expected.
*/
public void persistUnsupportedObject() throws Exception {
try {
Modified: branches/4.2.x/cachestore/jdbm/src/main/java/org/infinispan/loaders/jdbm/JdbmCacheStoreConfig.java
===================================================================
--- branches/4.2.x/cachestore/jdbm/src/main/java/org/infinispan/loaders/jdbm/JdbmCacheStoreConfig.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbm/src/main/java/org/infinispan/loaders/jdbm/JdbmCacheStoreConfig.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,7 +2,6 @@
import java.util.Comparator;
-import org.infinispan.CacheException;
import org.infinispan.config.Dynamic;
import org.infinispan.loaders.LockSupportCacheStoreConfig;
import org.infinispan.util.Util;
Modified: branches/4.2.x/cachestore/jdbm/src/main/java/org/infinispan/loaders/jdbm/JdbmSerializer.java
===================================================================
--- branches/4.2.x/cachestore/jdbm/src/main/java/org/infinispan/loaders/jdbm/JdbmSerializer.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbm/src/main/java/org/infinispan/loaders/jdbm/JdbmSerializer.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -8,7 +8,7 @@
/**
* Uses the configured (runtime) {@link org.infinispan.marshall.StreamingMarshaller} of the cache.
- * This Serializer is thus not really serializiable.
+ * This Serializer is thus not really serializable.
*
* @author Elias Ross
*/
Modified: branches/4.2.x/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreFunctionalTest.java
===================================================================
--- branches/4.2.x/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreFunctionalTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreFunctionalTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -28,7 +28,6 @@
import org.infinispan.test.TestingUtil;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeTest;
import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
Modified: branches/4.2.x/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreTest.java
===================================================================
--- branches/4.2.x/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -13,7 +13,6 @@
import org.infinispan.test.TestingUtil;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeTest;
import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
Modified: branches/4.2.x/cachestore/remote/src/main/java/org/infinispan/loaders/remote/RemoteCacheStore.java
===================================================================
--- branches/4.2.x/cachestore/remote/src/main/java/org/infinispan/loaders/remote/RemoteCacheStore.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/remote/src/main/java/org/infinispan/loaders/remote/RemoteCacheStore.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -5,7 +5,6 @@
import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.RemoteCacheManager;
import org.infinispan.container.entries.InternalCacheEntry;
-import org.infinispan.container.entries.InternalEntryFactory;
import org.infinispan.loaders.AbstractCacheStore;
import org.infinispan.loaders.CacheLoaderConfig;
import org.infinispan.loaders.CacheLoaderException;
@@ -42,7 +41,7 @@
@CacheLoaderMetadata(configurationClass = RemoteCacheStoreConfig.class)
public class RemoteCacheStore extends AbstractCacheStore {
- private static Log log = LogFactory.getLog(RemoteCacheStore.class);
+ private static final Log log = LogFactory.getLog(RemoteCacheStore.class);
private volatile RemoteCacheStoreConfig config;
private volatile RemoteCacheManager remoteCacheManager;
Modified: branches/4.2.x/cachestore/remote/src/main/java/org/infinispan/loaders/remote/RemoteCacheStoreConfig.java
===================================================================
--- branches/4.2.x/cachestore/remote/src/main/java/org/infinispan/loaders/remote/RemoteCacheStoreConfig.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/remote/src/main/java/org/infinispan/loaders/remote/RemoteCacheStoreConfig.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -14,8 +14,8 @@
* <p/>
* Parameters:
* <ul>
- * <li>HotRodClientPropertiesFile-the file that contains the configuration of hotrod client. See <a href="http://community.jboss.org/wiki/JavaHotRodclient">Hotrod Java Client</a>
- * for more details on the hotrod client.
+ * <li>HotRodClientPropertiesFile-the file that contains the configuration of Hot Rod client. See <a href="http://community.jboss.org/wiki/JavaHotRodclient">Hotrod Java Client</a>
+ * for more details on the Hot Rod client.
* <li>remoteCacheName-the name of the remote cache in the remote infinispan cluster, to which to connect to</li>
* <li>UseDefaultRemoteCache-if set to true, the default remote cache will be used, as obtained by {@link org.infinispan.manager.CacheContainer#getCache()}.
* </ul>
Modified: branches/4.2.x/cachestore/remote/src/test/java/org/infinispan/loaders/remote/RemoteCacheStoreTest.java
===================================================================
--- branches/4.2.x/cachestore/remote/src/test/java/org/infinispan/loaders/remote/RemoteCacheStoreTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/cachestore/remote/src/test/java/org/infinispan/loaders/remote/RemoteCacheStoreTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -12,7 +12,6 @@
import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
-import java.io.IOException;
import java.util.Properties;
/**
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/RemoteCacheManager.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/RemoteCacheManager.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/RemoteCacheManager.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,7 +2,6 @@
import org.infinispan.client.hotrod.exceptions.HotRodClientException;
import org.infinispan.client.hotrod.impl.ConfigurationProperties;
-import org.infinispan.client.hotrod.impl.async.DefaultAsyncExecutorFactory;
import org.infinispan.client.hotrod.impl.operations.OperationsFactory;
import org.infinispan.client.hotrod.impl.RemoteCacheImpl;
import org.infinispan.client.hotrod.impl.transport.TransportFactory;
@@ -28,12 +27,12 @@
/**
* Factory for {@link org.infinispan.client.hotrod.RemoteCache}s. <p/> <p> <b>Lifecycle:</b> </p> In order to be able to
* use an {@link org.infinispan.client.hotrod.RemoteCache}, the {@link org.infinispan.client.hotrod.RemoteCacheManager}
- * must be started first: beside other things, this instantiates connections to Hotrod server(s). Starting the {@link
+ * must be started first: beside other things, this instantiates connections to Hot Rod server(s). Starting the {@link
* org.infinispan.client.hotrod.RemoteCacheManager} can be done either at creation by passing start==true to constructor
* or by using a constructor that does that for you (see C-tor documentation); or after construction by calling {@link
* #start()}.
* <p/>
- * This is an "expensive" object, as it manages a set of persistent TCP connections to the hotrod servers. It is recommended
+ * This is an "expensive" object, as it manages a set of persistent TCP connections to the Hot Rod servers. It is recommended
* to only have one instance of this per JVM, and to cache it between calls to the server (i.e. remoteCache
* operations).
* <p/>
@@ -47,9 +46,9 @@
* <p/>
* Below is the list of supported configuration elements:
* <ul>
- * <li><tt>infinispan.client.hotrod.request_balancing_strategy</tt>, default = org.infinispan.client.hotrod.impl.transport.tcp.RoundRobinBalancingStrategy. For replicated (vs distributed) hotrod server clusters, the client balances requests to the
+ * <li><tt>infinispan.client.hotrod.request_balancing_strategy</tt>, default = org.infinispan.client.hotrod.impl.transport.tcp.RoundRobinBalancingStrategy. For replicated (vs distributed) Hot Rod server clusters, the client balances requests to the
* servers according to this strategy.</li>
- * <li><tt>infinispan.client.hotrod.server_list</tt>, default = 127.0.0.1:11311. This is the initial list of hotrod servers to connect to, specified in the following format: host1:port1;host2:port2...
+ * <li><tt>infinispan.client.hotrod.server_list</tt>, default = 127.0.0.1:11311. This is the initial list of Hot Rod servers to connect to, specified in the following format: host1:port1;host2:port2...
* At least one host:port must be specified.</li>
* <li><tt>infinispan.client.hotrod.force_return_values</tt>, default = false. Whether or not to implicitly {@link org.infinispan.client.hotrod.Flag#FORCE_RETURN_VALUE} for all calls.</li>
* <li><tt>infinispan.client.hotrod.tcp_no_delay</tt>, default = true. Affects TCP NODELAY on the TCP stack.</li>
@@ -84,7 +83,7 @@
* <ul>
* <li> <tt>0</tt> - an exception will be thrown to the calling user</li>
* <li> <tt>1</tt> - the caller will block (invoke waits until a new or idle connections is available.
- * <li> <tt>2</tt> - a new persistent connection will be created and and returned (essentially making maxActive meaningless.) </li>
+ * <li> <tt>2</tt> - a new persistent connection will be created and returned (essentially making maxActive meaningless.) </li>
* </ul>
* The default whenExhaustedAction setting is 1.
* </li>
@@ -120,7 +119,7 @@
*/
public class RemoteCacheManager implements CacheContainer {
- private static Log log = LogFactory.getLog(RemoteCacheManager.class);
+ private static final Log log = LogFactory.getLog(RemoteCacheManager.class);
public static final String HOTROD_CLIENT_PROPERTIES = "hotrod-client.properties";
@@ -200,7 +199,7 @@
}
/**
- * Creates a remote cache manager aware of the hotrod server listening at host:port.
+ * Creates a remote cache manager aware of the Hot Rod server listening at host:port.
*
* @param start weather or not to start the RemoteCacheManager.
*/
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/ServerStatistics.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/ServerStatistics.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/ServerStatistics.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,7 +3,7 @@
import java.util.Map;
/**
- * Defines the possible list of statistics defined by the hotrod server.
+ * Defines the possible list of statistics defined by the Hot Rod server.
* Can be obtained through {@link RemoteCache#stats()}
*
* @author Mircea.Markus at jboss.com
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/exceptions/TransportException.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/exceptions/TransportException.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/exceptions/TransportException.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,7 @@
package org.infinispan.client.hotrod.exceptions;
/**
- * Indicates a communication exception with the hotrod server: e.g. TCP connection is broken while reading a response
+ * Indicates a communication exception with the Hot Rod server: e.g. TCP connection is broken while reading a response
* from the server.
*
* @author Mircea.Markus at jboss.com
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/ConfigurationProperties.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/ConfigurationProperties.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/ConfigurationProperties.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -9,13 +9,11 @@
import java.net.InetSocketAddress;
import java.util.Collection;
import java.util.HashSet;
-import java.util.List;
import java.util.Properties;
import java.util.Set;
-import java.util.StringTokenizer;
/**
- * Encpasulate all config properties here
+ * Encapsulate all config properties here
*
* @author Manik Surtani
* @version 4.1
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/RemoteCacheImpl.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/RemoteCacheImpl.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/RemoteCacheImpl.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -30,7 +30,7 @@
*/
public class RemoteCacheImpl<K, V> extends RemoteCacheSupport<K, V> {
- private static Log log = LogFactory.getLog(RemoteCacheImpl.class);
+ private static final Log log = LogFactory.getLog(RemoteCacheImpl.class);
private Marshaller marshaller;
private final String name;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/ServerStatisticsImpl.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/ServerStatisticsImpl.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/ServerStatisticsImpl.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -4,9 +4,7 @@
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
/**
* @author Mircea.Markus at jboss.com
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/async/DefaultAsyncExecutorFactory.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/async/DefaultAsyncExecutorFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/async/DefaultAsyncExecutorFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,5 @@
package org.infinispan.client.hotrod.impl.async;
-import com.sun.corba.se.impl.orb.ORBConfiguratorImpl;
import org.infinispan.client.hotrod.impl.ConfigurationProperties;
import org.infinispan.executors.ExecutorFactory;
import org.infinispan.util.TypedProperties;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHash.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHash.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHash.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,7 +2,6 @@
import java.net.InetSocketAddress;
import java.util.LinkedHashMap;
-import java.util.Map;
/**
* Abstraction for the used consistent hash.
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHashFactory.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHashFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHashFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -9,7 +9,6 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.Properties;
import static org.infinispan.client.hotrod.impl.ConfigurationProperties.HASH_FUNCTION_PREFIX;
@@ -29,7 +28,7 @@
*/
public class ConsistentHashFactory {
- private static Log log = LogFactory.getLog(ConsistentHashFactory.class);
+ private static final Log log = LogFactory.getLog(ConsistentHashFactory.class);
private final Map<Integer, String> version2ConsistentHash = new HashMap<Integer, String>();
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHashV1.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHashV1.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/consistenthash/ConsistentHashV1.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -18,7 +18,7 @@
*/
public class ConsistentHashV1 implements ConsistentHash {
- private static Log log = LogFactory.getLog(ConsistentHashV1.class);
+ private static final Log log = LogFactory.getLog(ConsistentHashV1.class);
private final SortedMap<Integer, InetSocketAddress> positions = new TreeMap<Integer, InetSocketAddress>();
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/AbstractKeyOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/AbstractKeyOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/AbstractKeyOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -20,7 +20,7 @@
@Immutable
public abstract class AbstractKeyOperation extends RetryOnFailureOperation {
- private static Log log = LogFactory.getLog(AbstractKeyOperation.class);
+ private static final Log log = LogFactory.getLog(AbstractKeyOperation.class);
protected final byte[] key;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/ContainsKeyOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/ContainsKeyOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/ContainsKeyOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -8,7 +8,7 @@
import java.util.concurrent.atomic.AtomicInteger;
/**
- * Implemets "containsKey" operation as described in <a href="http://community.jboss.org/wiki/HotRodProtocol">Hot Rod protocol specification</a>.
+ * Implements "containsKey" operation as described in <a href="http://community.jboss.org/wiki/HotRodProtocol">Hot Rod protocol specification</a>.
*
* @author Mircea.Markus at jboss.com
* @since 4.1
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/GetWithVersionOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/GetWithVersionOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/GetWithVersionOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -20,7 +20,7 @@
@Immutable
public class GetWithVersionOperation extends AbstractKeyOperation {
- private static Log log = LogFactory.getLog(GetWithVersionOperation.class);
+ private static final Log log = LogFactory.getLog(GetWithVersionOperation.class);
public GetWithVersionOperation(TransportFactory transportFactory, byte[] key, byte[] cacheName,
AtomicInteger topologyId, Flag[] flags) {
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/HotRodOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/HotRodOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/HotRodOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -16,7 +16,7 @@
import java.util.concurrent.atomic.AtomicLong;
/**
- * Generic hotrod operation. It is aware of {@link org.infinispan.client.hotrod.Flag}s and it is targeted against a
+ * Generic Hot Rod operation. It is aware of {@link org.infinispan.client.hotrod.Flag}s and it is targeted against a
* cache name. This base class encapsulates the knowledge of writing and reading a header, as described in the
* <a href="http://community.jboss.org/wiki/HotRodProtocol">Hot Rod protocol specification</a>
*
@@ -28,7 +28,7 @@
static final AtomicLong MSG_ID = new AtomicLong();
- private static Log log = LogFactory.getLog(HotRodOperation.class);
+ private static final Log log = LogFactory.getLog(HotRodOperation.class);
protected final Flag[] flags;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/PingOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/PingOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/PingOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -18,7 +18,7 @@
@Immutable
public class PingOperation extends HotRodOperation {
- private static Log log = LogFactory.getLog(PingOperation.class);
+ private static final Log log = LogFactory.getLog(PingOperation.class);
private final Transport transport;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/PutIfAbsentOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/PutIfAbsentOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/PutIfAbsentOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -20,7 +20,7 @@
@Immutable
public class PutIfAbsentOperation extends AbstractKeyValueOperation {
- private static Log log = LogFactory.getLog(PutIfAbsentOperation.class);
+ private static final Log log = LogFactory.getLog(PutIfAbsentOperation.class);
public PutIfAbsentOperation(TransportFactory transportFactory, byte[] key, byte[] cacheName, AtomicInteger topologyId,
Flag[] flags, byte[] value, int lifespan, int maxIdle) {
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/RemoveIfUnmodifiedOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/RemoveIfUnmodifiedOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/RemoveIfUnmodifiedOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,7 +2,6 @@
import net.jcip.annotations.Immutable;
import org.infinispan.client.hotrod.Flag;
-import org.infinispan.client.hotrod.impl.VersionedOperationResponse;
import org.infinispan.client.hotrod.impl.transport.Transport;
import org.infinispan.client.hotrod.impl.transport.TransportFactory;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/ReplaceIfUnmodifiedOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/ReplaceIfUnmodifiedOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/ReplaceIfUnmodifiedOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,6 @@
package org.infinispan.client.hotrod.impl.operations;
import org.infinispan.client.hotrod.Flag;
-import org.infinispan.client.hotrod.impl.VersionedOperationResponse;
import org.infinispan.client.hotrod.impl.transport.Transport;
import org.infinispan.client.hotrod.impl.transport.TransportFactory;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/RetryOnFailureOperation.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/RetryOnFailureOperation.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/operations/RetryOnFailureOperation.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -20,7 +20,7 @@
@Immutable
public abstract class RetryOnFailureOperation extends HotRodOperation {
- private static Log log = LogFactory.getLog(RetryOnFailureOperation.class);
+ private static final Log log = LogFactory.getLog(RetryOnFailureOperation.class);
protected final TransportFactory transportFactory;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/protocol/HotRodConstants.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/protocol/HotRodConstants.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/protocol/HotRodConstants.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,7 +3,7 @@
import java.nio.charset.Charset;
/**
- * Defines constants defined by Hotrod specifications.
+ * Defines constants defined by Hot Rod specifications.
*
* @author Mircea.Markus at jboss.com
* @since 4.1
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/protocol/HotRodOperations.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/protocol/HotRodOperations.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/protocol/HotRodOperations.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -8,7 +8,7 @@
import java.util.Map;
/**
- * Defines the hotrod operations as described in the protocol spec: http://community.jboss.org/wiki/HotRodProtocol
+ * Defines the Hot Rod operations as described in the protocol spec: http://community.jboss.org/wiki/HotRodProtocol
*
* @author Mircea.Markus at jboss.com
* @since 4.1
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/AbstractTransport.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/AbstractTransport.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/AbstractTransport.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -12,7 +12,7 @@
*/
public abstract class AbstractTransport implements Transport {
- private static Log log = LogFactory.getLog(AbstractTransport.class);
+ private static final Log log = LogFactory.getLog(AbstractTransport.class);
private final TransportFactory transportFactory;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/TransportFactory.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/TransportFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/TransportFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -5,8 +5,6 @@
import java.net.InetSocketAddress;
import java.util.Collection;
import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Properties;
import java.util.concurrent.atomic.AtomicInteger;
/**
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/PropsKeyedObjectPoolFactory.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/PropsKeyedObjectPoolFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/PropsKeyedObjectPoolFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -15,7 +15,7 @@
public class PropsKeyedObjectPoolFactory extends GenericKeyedObjectPoolFactory {
- private static Log log = LogFactory.getLog(PropsKeyedObjectPoolFactory.class);
+ private static final Log log = LogFactory.getLog(PropsKeyedObjectPoolFactory.class);
public PropsKeyedObjectPoolFactory(KeyedPoolableObjectFactory factory, Properties props) {
super(factory);
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/RoundRobinBalancingStrategy.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/RoundRobinBalancingStrategy.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/RoundRobinBalancingStrategy.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,7 @@
@ThreadSafe
public class RoundRobinBalancingStrategy implements RequestBalancingStrategy {
- private static Log log = LogFactory.getLog(RoundRobinBalancingStrategy.class);
+ private static final Log log = LogFactory.getLog(RoundRobinBalancingStrategy.class);
private final ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
private final Lock readLock = readWriteLock.readLock();
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransport.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransport.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransport.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -4,7 +4,6 @@
import org.infinispan.client.hotrod.impl.transport.AbstractTransport;
import org.infinispan.client.hotrod.exceptions.TransportException;
import org.infinispan.client.hotrod.impl.transport.TransportFactory;
-import org.infinispan.io.UnsignedNumeric;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
@@ -28,7 +27,7 @@
//needed for debugging
private static AtomicLong ID_COUNTER = new AtomicLong(0);
- private static Log log = LogFactory.getLog(TcpTransport.class);
+ private static final Log log = LogFactory.getLog(TcpTransport.class);
private static final boolean trace = log.isTraceEnabled();
private final Socket socket;
Modified: branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransportFactory.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransportFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/main/java/org/infinispan/client/hotrod/impl/transport/tcp/TcpTransportFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -17,7 +17,6 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashMap;
-import java.util.Properties;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/CSAIntegrationTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/CSAIntegrationTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/CSAIntegrationTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,9 +21,6 @@
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.List;
@@ -47,7 +44,7 @@
private RemoteCache<Object, Object> remoteCache;
private TcpTransportFactory tcpConnectionFactory;
- private static Log log = LogFactory.getLog(CSAIntegrationTest.class);
+ private static final Log log = LogFactory.getLog(CSAIntegrationTest.class);
private Marshaller m;
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/HitsAwareCacheManagersTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/HitsAwareCacheManagersTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/HitsAwareCacheManagersTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,7 +3,6 @@
import org.infinispan.Cache;
import org.infinispan.commands.VisitableCommand;
import org.infinispan.context.InvocationContext;
-import org.infinispan.interceptors.CacheMgmtInterceptor;
import org.infinispan.interceptors.base.CommandInterceptor;
import org.infinispan.manager.CacheContainer;
import org.infinispan.manager.EmbeddedCacheManager;
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/HotRodIntegrationTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/HotRodIntegrationTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/HotRodIntegrationTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -30,7 +30,7 @@
@Test (testName = "client.hotrod.HotRodClientIntegrationTest", groups = "functional" )
public class HotRodIntegrationTest extends SingleCacheManagerTest {
- private static Log log = LogFactory.getLog(HotRodIntegrationTest.class);
+ private static final Log log = LogFactory.getLog(HotRodIntegrationTest.class);
private static final String CACHE_NAME = "replSync";
private Cache cache;
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/RoundRobinBalancingIntegrationTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/RoundRobinBalancingIntegrationTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/RoundRobinBalancingIntegrationTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -26,7 +26,7 @@
@Test(testName = "client.hotrod.RoundRobinBalancingTest")
public class RoundRobinBalancingIntegrationTest extends MultipleCacheManagersTest {
- private static Log log = LogFactory.getLog(RoundRobinBalancingIntegrationTest.class);
+ private static final Log log = LogFactory.getLog(RoundRobinBalancingIntegrationTest.class);
Cache c1;
Cache c2;
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/RoundRobinBalancingStrategyTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/RoundRobinBalancingStrategyTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/RoundRobinBalancingStrategyTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -5,7 +5,6 @@
import org.testng.annotations.Test;
import java.net.InetSocketAddress;
-import java.net.SocketAddress;
import java.util.ArrayList;
import java.util.List;
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/ServerRestartTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/ServerRestartTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/ServerRestartTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -9,8 +9,6 @@
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
-import java.util.HashMap;
-import java.util.Map;
import java.util.Properties;
/**
@@ -20,7 +18,7 @@
@Test
public class ServerRestartTest extends SingleCacheManagerTest {
- private static Log log = LogFactory.getLog(HotRodIntegrationTest.class);
+ private static final Log log = LogFactory.getLog(HotRodIntegrationTest.class);
RemoteCache defaultRemote;
private RemoteCacheManager remoteCacheManager;
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/WorkerThread.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/WorkerThread.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/WorkerThread.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -16,7 +16,7 @@
private static final AtomicInteger WORKER_INDEX = new AtomicInteger();
- private static Log log = LogFactory.getLog(WorkerThread.class);
+ private static final Log log = LogFactory.getLog(WorkerThread.class);
public static final String NULL = "_null_";
public static final String PUT_SYNC = "_put_sync_";
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/AbstractRetryTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/AbstractRetryTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/AbstractRetryTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,6 @@
package org.infinispan.client.hotrod.retry;
import org.infinispan.client.hotrod.HitsAwareCacheManagersTest;
-import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.RemoteCacheManager;
import org.infinispan.client.hotrod.TestHelper;
import org.infinispan.client.hotrod.impl.RemoteCacheImpl;
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/DistributionRetryTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/DistributionRetryTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/DistributionRetryTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -125,7 +125,7 @@
}
- log.info("About to stop hotrod server 2");
+ log.info("About to stop Hot Rod server 2");
hotRodServer2.stop();
Modified: branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/ReplicationRetryTest.java
===================================================================
--- branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/ReplicationRetryTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/client/hotrod-client/src/test/java/org/infinispan/client/hotrod/retry/ReplicationRetryTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,26 +1,15 @@
package org.infinispan.client.hotrod.retry;
-import org.infinispan.client.hotrod.HitsAwareCacheManagersTest;
-import org.infinispan.client.hotrod.RemoteCache;
-import org.infinispan.client.hotrod.RemoteCacheManager;
-import org.infinispan.client.hotrod.TestHelper;
+import static org.testng.Assert.assertEquals;
+
+import java.net.InetSocketAddress;
+import java.util.Map;
+
import org.infinispan.client.hotrod.VersionedValue;
-import org.infinispan.client.hotrod.impl.transport.tcp.RoundRobinBalancingStrategy;
-import org.infinispan.client.hotrod.impl.transport.tcp.TcpTransportFactory;
import org.infinispan.config.Configuration;
-import org.infinispan.lifecycle.ComponentStatus;
-import org.infinispan.manager.CacheContainer;
import org.infinispan.server.hotrod.HotRodServer;
-import org.infinispan.test.TestingUtil;
-import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.testng.annotations.Test;
-import java.net.InetSocketAddress;
-import java.util.Map;
-import java.util.Properties;
-
-import static org.testng.Assert.assertEquals;
-
/**
* @author Mircea.Markus at jboss.com
* @since 4.1
Property changes on: branches/4.2.x/core
___________________________________________________________________
Name: svn:ignore
- target
.settings
eclipse-output
test-output
output
.classpath
.project
temp-testng-customsuite.xml
Infinispan-FileCacheStore
*.iml
*.log
+ target
.settings
eclipse-output
test-output
output
.classpath
.project
temp-testng-customsuite.xml
Infinispan-FileCacheStore
*.iml
*.log
PutObjectStoreDirHere
Modified: branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityService.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityService.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityService.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,8 +3,6 @@
import org.infinispan.lifecycle.Lifecycle;
import org.infinispan.remoting.transport.Address;
-import java.util.concurrent.Executor;
-
/**
* Defines a service that generates keys to be mapped to specific nodes in a distributed(vs. replicated) cluster.
* The service is instantiated through through one of the factory methods from {@link org.infinispan.affinity.KeyAffinityServiceFactory}.
Modified: branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityServiceFactory.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityServiceFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityServiceFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,15 +1,11 @@
package org.infinispan.affinity;
import org.infinispan.Cache;
-import org.infinispan.executors.ExecutorFactory;
import org.infinispan.remoting.transport.Address;
import java.util.Collection;
import java.util.Collections;
-import java.util.Properties;
import java.util.concurrent.Executor;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
/**
* Factory for {@link org.infinispan.affinity.KeyAffinityService}.
Modified: branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityServiceImpl.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityServiceImpl.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyAffinityServiceImpl.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -38,7 +38,7 @@
private final float THRESHOLD = 0.5f;
- private static Log log = LogFactory.getLog(KeyAffinityServiceImpl.class);
+ private static final Log log = LogFactory.getLog(KeyAffinityServiceImpl.class);
private final Set<Address> filter;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyGenerator.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyGenerator.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/affinity/KeyGenerator.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,5 @@
package org.infinispan.affinity;
-import java.io.IOException;
-
/**
* Used for generating keys; used by {@link org.infinispan.affinity.KeyAffinityService} to generate the affinity keys.
* It offers the possibility to generate keys in a particular format.
Modified: branches/4.2.x/core/src/main/java/org/infinispan/atomic/AtomicMapLookup.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/atomic/AtomicMapLookup.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/atomic/AtomicMapLookup.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,6 @@
package org.infinispan.atomic;
import org.infinispan.Cache;
-import org.infinispan.util.Immutables;
import java.util.Collections;
import java.util.Map;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/commands/control/LockControlCommand.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/commands/control/LockControlCommand.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/commands/control/LockControlCommand.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -45,7 +45,6 @@
* For more details refer to: https://jira.jboss.org/jira/browse/ISPN-70 https://jira.jboss.org/jira/browse/ISPN-48
*
* @author Vladimir Blagojevic (<a href="mailto:vblagoje at redhat.com">vblagoje at redhat.com</a>)
- * @param
* @since 4.0
*/
@Marshallable(externalizer = ReplicableCommandExternalizer.class, id = Ids.LOCK_CONTROL_COMMAND)
Modified: branches/4.2.x/core/src/main/java/org/infinispan/commands/read/EntrySetCommand.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/commands/read/EntrySetCommand.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/commands/read/EntrySetCommand.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,6 @@
*/
package org.infinispan.commands.read;
-import org.infinispan.commands.LocalCommand;
import org.infinispan.commands.VisitableCommand;
import org.infinispan.commands.Visitor;
import org.infinispan.container.DataContainer;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/commands/read/KeySetCommand.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/commands/read/KeySetCommand.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/commands/read/KeySetCommand.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,6 @@
*/
package org.infinispan.commands.read;
-import org.infinispan.commands.LocalCommand;
import org.infinispan.commands.VisitableCommand;
import org.infinispan.commands.Visitor;
import org.infinispan.container.DataContainer;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/commands/read/SizeCommand.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/commands/read/SizeCommand.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/commands/read/SizeCommand.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,6 @@
*/
package org.infinispan.commands.read;
-import org.infinispan.commands.LocalCommand;
import org.infinispan.commands.VisitableCommand;
import org.infinispan.commands.Visitor;
import org.infinispan.container.DataContainer;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/commands/read/ValuesCommand.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/commands/read/ValuesCommand.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/commands/read/ValuesCommand.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,6 @@
*/
package org.infinispan.commands.read;
-import org.infinispan.commands.LocalCommand;
import org.infinispan.commands.VisitableCommand;
import org.infinispan.commands.Visitor;
import org.infinispan.container.DataContainer;
@@ -38,7 +37,6 @@
*/
public class ValuesCommand extends AbstractLocalCommand implements VisitableCommand {
private final DataContainer container;
- private static final Object[] EMPTY_ARRAY = new Object[0];
public ValuesCommand(DataContainer container) {
this.container = container;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/commands/tx/AbstractTransactionBoundaryCommand.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/commands/tx/AbstractTransactionBoundaryCommand.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/commands/tx/AbstractTransactionBoundaryCommand.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -40,7 +40,7 @@
*/
public abstract class AbstractTransactionBoundaryCommand implements TransactionBoundaryCommand {
- private static Log log = LogFactory.getLog(AbstractTransactionBoundaryCommand.class);
+ private static final Log log = LogFactory.getLog(AbstractTransactionBoundaryCommand.class);
private static boolean trace = log.isTraceEnabled();
protected GlobalTransaction globalTx;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/commands/tx/PrepareCommand.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/commands/tx/PrepareCommand.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/commands/tx/PrepareCommand.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -52,7 +52,7 @@
@Marshallable(externalizer = ReplicableCommandExternalizer.class, id = Ids.PREPARE_COMMAND)
public class PrepareCommand extends AbstractTransactionBoundaryCommand {
- private static Log log = LogFactory.getLog(PrepareCommand.class);
+ private static final Log log = LogFactory.getLog(PrepareCommand.class);
private boolean trace = log.isTraceEnabled();
public static final byte COMMAND_ID = 12;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/commands/write/RemoveCommand.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/commands/write/RemoveCommand.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/commands/write/RemoveCommand.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -40,7 +40,6 @@
@Marshallable(externalizer = ReplicableCommandExternalizer.class, id = Ids.REMOVE_COMMAND)
public class RemoveCommand extends AbstractDataWriteCommand {
private static final Log log = LogFactory.getLog(RemoveCommand.class);
- private static final boolean trace = log.isTraceEnabled();
public static final byte COMMAND_ID = 10;
protected CacheNotifier notifier;
boolean successful = true;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/config/Configuration.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/config/Configuration.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/config/Configuration.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -50,13 +50,11 @@
/**
* Encapsulates the configuration of a Cache.
- *
* <p>
- * Note that class Configuration contains JAXB annotations. These annotations determine how XML
- * configuration files are read into instances of configuration class hierarchy as well as they
- * provide meta data for configuration file XML schema generation. Please modify these annotations
- * and Java element types they annotate with utmost understanding and care.
- *
+ * A default instance of this bean takes default values for each attribute. Please see the individual setters for
+ * details of what these defaults are.
+ * </p>
+ *
* @configRef name="default",desc="Configures the default cache which can be retrieved via CacheManager.getCache().
* These default settings are also used as a starting point when configuring namedCaches,
* since the default settings are inherited by any named cache."
@@ -72,6 +70,13 @@
*
* @see <a href="../../../config.html#ce_infinispan_default">Configuration reference</a>
*/
+
+//Note that class Configuration contains JAXB annotations. These annotations determine how XML
+//configuration files are read into instances of configuration class hierarchy as well as they
+//provide meta data for configuration file XML schema generation. Please modify these annotations
+//and Java element types they annotate with utmost understanding and care.
+
+
@SurvivesRestarts
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder={})
@@ -280,6 +285,10 @@
this.clustering.stateRetrieval.setFetchInMemoryState(fetchInMemoryState);
}
+ public void setAlwaysProvideInMemoryState(boolean alwaysProvideInMemoryState) {
+ this.clustering.stateRetrieval.setAlwaysProvideInMemoryState(alwaysProvideInMemoryState);
+ }
+
public void setLockAcquisitionTimeout(long lockAcquisitionTimeout) {
locking.setLockAcquisitionTimeout(lockAcquisitionTimeout);
}
@@ -552,6 +561,11 @@
return clustering.stateRetrieval.fetchInMemoryState;
}
+ public boolean isAlwaysProvideInMemoryState() {
+ return clustering.stateRetrieval.alwaysProvideInMemoryState;
+ }
+
+
public long getLockAcquisitionTimeout() {
return locking.lockAcquisitionTimeout;
}
@@ -773,7 +787,7 @@
public boolean isOnePhaseCommit() {
return !getCacheMode().isSynchronous();
}
-
+
/**
*
* @configRef name="transaction",desc="Defines transactional (JTA) characteristics of the cache."
@@ -1392,6 +1406,12 @@
@Dynamic
protected Boolean fetchInMemoryState = false;
+ /**
+ * @configRef desc="If true, this will allow the cache to provide in-memory state to a neighbor, even if the
+ * cache is not configured to fetch state from its neighbors (fetchInMemoryState is false).
+ */
+ protected Boolean alwaysProvideInMemoryState = false;
+
/** @configRef desc="This is the maximum amount of time - in milliseconds - to wait for state from neighboring
* caches, before throwing an exception and aborting startup. " */
@Dynamic
@@ -1413,6 +1433,12 @@
}
@XmlAttribute
+ public void setAlwaysProvideInMemoryState(Boolean alwaysProvideInMemoryState) {
+ testImmutability("alwaysProvideInMemoryState");
+ this.alwaysProvideInMemoryState = alwaysProvideInMemoryState;
+ }
+
+ @XmlAttribute
public void setInitialRetryWaitTime(Long initialRetryWaitTime) {
testImmutability("initialWaitTime");
this.initialRetryWaitTime = initialRetryWaitTime;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/config/ConfigurationValidatingVisitor.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/config/ConfigurationValidatingVisitor.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/config/ConfigurationValidatingVisitor.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -22,7 +22,6 @@
package org.infinispan.config;
import org.infinispan.config.GlobalConfiguration.TransportType;
-import org.infinispan.eviction.EvictionStrategy;
import org.infinispan.loaders.decorators.SingletonStoreConfig;
/**
Modified: branches/4.2.x/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -26,11 +26,9 @@
/**
* Configuration component that encapsulates the global configuration.
* <p/>
+ * A default instance of this bean takes default values for each attribute. Please see the individual setters for
+ * details of what these defaults are.
* <p/>
- * Note that class GlobalConfiguration contains JAXB annotations. These annotations determine how XML configuration
- * files are read into instances of configuration class hierarchy as well as they provide meta data for configuration
- * file XML schema generation. Please modify these annotations and Java element types they annotate with utmost
- * understanding and care.
*
* @author Manik Surtani
* @author Vladimir Blagojevic
@@ -41,6 +39,12 @@
* @see <a href="../../../config.html#ce_infinispan_global">Configuration reference</a>
*
*/
+
+// Note that class GlobalConfiguration contains JAXB annotations. These annotations determine how XML configuration
+// files are read into instances of configuration class hierarchy as well as they provide meta data for configuration
+// file XML schema generation. Please modify these annotations and Java element types they annotate with utmost
+// understanding and care.
+
@SurvivesRestarts
@Scope(Scopes.GLOBAL)
@XmlAccessorType(XmlAccessType.FIELD)
Modified: branches/4.2.x/core/src/main/java/org/infinispan/config/parsing/ConfigFilesConvertor.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/config/parsing/ConfigFilesConvertor.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/config/parsing/ConfigFilesConvertor.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -43,14 +43,10 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import static java.util.Collections.sort;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/container/EntryFactory.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/container/EntryFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/container/EntryFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -64,7 +64,7 @@
* @param forceLockIfAbsent forces a lock even if the entry is absent
* @param alreadyLocked if true, this hint prevents the method from acquiring any locks and the existence and ownership of the lock is presumed.
* @param forRemoval if true, this hint informs this method that the lock is being acquired for removal.
- * @param undeleteIfNeeded if true, if the entry is found in the current scope (perhaps a transaction) and is deleteed, it will be undeleted. If false, it will be considered deleted.
+ * @param undeleteIfNeeded if true, if the entry is found in the current scope (perhaps a transaction) and is deleted, it will be undeleted. If false, it will be considered deleted.
* @return an MVCCEntry instance
* @throws InterruptedException when things go wrong, usually trying to acquire a lock
*/
@@ -80,7 +80,7 @@
* @param forceLockIfAbsent forces a lock even if the entry is absent
* @param alreadyLocked if true, this hint prevents the method from acquiring any locks and the existence and ownership of the lock is presumed.
* @param forRemoval if true, this hint informs this method that the lock is being acquired for removal.
-* @param undeleteIfNeeded if true, if the entry is found in the current scope (perhaps a transaction) and is deleteed, it will be undeleted. If false, it will be considered deleted. * @return an MVCCEntry instance
+* @param undeleteIfNeeded if true, if the entry is found in the current scope (perhaps a transaction) and is deleted, it will be undeleted. If false, it will be considered deleted. * @return an MVCCEntry instance
* @throws InterruptedException when things go wrong, usually trying to acquire a lock
*/
MVCCEntry wrapEntryForWriting(InvocationContext ctx, InternalCacheEntry entry, boolean createIfAbsent, boolean forceLockIfAbsent, boolean alreadyLocked, boolean forRemoval, boolean undeleteIfNeeded) throws InterruptedException;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -8,10 +8,8 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
-import static java.lang.Math.min;
-
/**
- * A cache entry that is transient, i.e., it can be considered expired afer a period of not being used.
+ * A cache entry that is transient, i.e., it can be considered expired after a period of not being used.
*
* @author Manik Surtani
* @since 4.0
Modified: branches/4.2.x/core/src/main/java/org/infinispan/context/InvocationContext.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/context/InvocationContext.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/context/InvocationContext.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,6 @@
*/
package org.infinispan.context;
-import java.util.Collections;
import java.util.Set;
/**
Modified: branches/4.2.x/core/src/main/java/org/infinispan/distribution/ConsistentHashHelper.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/distribution/ConsistentHashHelper.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/distribution/ConsistentHashHelper.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,6 @@
package org.infinispan.distribution;
import org.infinispan.config.Configuration;
-import org.infinispan.config.ConfigurationException;
import org.infinispan.remoting.transport.Address;
import org.infinispan.util.Util;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/distribution/DefaultConsistentHash.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/distribution/DefaultConsistentHash.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/distribution/DefaultConsistentHash.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,9 +3,6 @@
import org.infinispan.marshall.Ids;
import org.infinispan.marshall.Marshallable;
import org.infinispan.remoting.transport.Address;
-import org.infinispan.util.hash.MurmurHash2;
-import org.infinispan.util.logging.Log;
-import org.infinispan.util.logging.LogFactory;
import java.io.IOException;
import java.io.ObjectInput;
@@ -14,7 +11,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Random;
import java.util.SortedMap;
import java.util.TreeMap;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/factories/EmptyConstructorFactory.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/factories/EmptyConstructorFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/factories/EmptyConstructorFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,11 +1,9 @@
package org.infinispan.factories;
import org.infinispan.commands.RemoteCommandsFactory;
-import org.infinispan.config.ConfigurationException;
import org.infinispan.factories.annotations.DefaultFactoryFor;
import org.infinispan.factories.scopes.Scope;
import org.infinispan.factories.scopes.Scopes;
-import org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifier;
import org.infinispan.remoting.InboundInvocationHandler;
import org.infinispan.transaction.xa.GlobalTransactionFactory;
import org.infinispan.transaction.xa.TransactionTable;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/factories/MarshallerFactory.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/factories/MarshallerFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/factories/MarshallerFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,6 @@
*/
package org.infinispan.factories;
-import org.infinispan.config.ConfigurationException;
import org.infinispan.factories.annotations.DefaultFactoryFor;
import org.infinispan.marshall.StreamingMarshaller;
import org.infinispan.util.Util;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/factories/StateTransferManagerFactory.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/factories/StateTransferManagerFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/factories/StateTransferManagerFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -34,7 +34,7 @@
@DefaultFactoryFor(classes = StateTransferManager.class)
public class StateTransferManagerFactory extends AbstractNamedCacheComponentFactory implements AutoInstantiableFactory {
public <T> T construct(Class<T> componentType) {
- if (configuration.getCacheMode().isClustered() && configuration.isStateTransferEnabled())
+ if (configuration.getCacheMode().isClustered() && !configuration.getCacheMode().isDistributed())
return componentType.cast(new StateTransferManagerImpl());
else
return null;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/factories/TransactionManagerFactory.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/factories/TransactionManagerFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/factories/TransactionManagerFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,6 @@
*/
package org.infinispan.factories;
-import org.infinispan.config.ConfigurationException;
import org.infinispan.factories.annotations.DefaultFactoryFor;
import org.infinispan.transaction.tm.BatchModeTransactionManager;
import org.infinispan.transaction.lookup.TransactionManagerLookup;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/factories/TransportFactory.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/factories/TransportFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/factories/TransportFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,5 @@
package org.infinispan.factories;
-import org.infinispan.CacheException;
import org.infinispan.factories.annotations.DefaultFactoryFor;
import org.infinispan.remoting.transport.Transport;
import org.infinispan.util.Util;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/factories/scopes/ScopeDetector.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/factories/scopes/ScopeDetector.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/factories/scopes/ScopeDetector.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,7 +3,7 @@
import org.infinispan.util.ReflectionUtil;
/**
- * Retrieves the declated scope of a component
+ * Retrieves the declared scope of a component
*
* @author Manik Surtani
* @since 4.0
Modified: branches/4.2.x/core/src/main/java/org/infinispan/factories/scopes/Scopes.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/factories/scopes/Scopes.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/factories/scopes/Scopes.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,7 +2,7 @@
/**
* The different scopes that can be declared for a component in the cache system. If components are not bounded to a
- * specific scope explicity, then it defaults to the {@link #NAMED_CACHE} scope.
+ * specific scope explicitly, then it defaults to the {@link #NAMED_CACHE} scope.
*
* @author Manik Surtani
* @see Scope
Modified: branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistCacheStoreInterceptor.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistCacheStoreInterceptor.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistCacheStoreInterceptor.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -39,7 +39,7 @@
/**
* Cache store interceptor specific for the distribution cache mode. Put operations has been modified in such way that
- * if they put operation is the result of an L1 put, storing in the cache store is ignore. This is done so that inmortal
+ * if they put operation is the result of an L1 put, storing in the cache store is ignore. This is done so that immortal
* entries that get converted into mortal ones when putting into L1 don't get propagated to the cache store.
* <p/>
* Secondly, in a replicated environment where a shared cache store is used, the node in which the cache operation is
Modified: branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistLockingInterceptor.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistLockingInterceptor.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistLockingInterceptor.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,6 @@
package org.infinispan.interceptors;
import org.infinispan.container.entries.CacheEntry;
-import org.infinispan.context.InvocationContext;
import org.infinispan.distribution.DistributionManager;
import org.infinispan.factories.annotations.Inject;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistributionInterceptor.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistributionInterceptor.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/interceptors/DistributionInterceptor.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -40,7 +40,7 @@
/**
* The interceptor that handles distribution of entries across a cluster, as well as transparent lookup
*
- * @author manik
+ * @author Manik Surtani
* @since 4.0
*/
public class DistributionInterceptor extends BaseRpcInterceptor {
Modified: branches/4.2.x/core/src/main/java/org/infinispan/interceptors/InterceptorChain.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/interceptors/InterceptorChain.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/interceptors/InterceptorChain.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -63,8 +63,10 @@
@Start
private void printChainInfo() {
- if (log.isDebugEnabled()) log.debug("Interceptor chain size: " + size());
- if (log.isDebugEnabled()) log.debug("Interceptor chain is: " + toString());
+ if (log.isDebugEnabled()) {
+ log.debug("Interceptor chain size: " + size());
+ log.debug("Interceptor chain is: " + toString());
+ }
}
/**
Modified: branches/4.2.x/core/src/main/java/org/infinispan/interceptors/PassivationInterceptor.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/interceptors/PassivationInterceptor.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/interceptors/PassivationInterceptor.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,27 +1,18 @@
package org.infinispan.interceptors;
import org.infinispan.commands.write.EvictCommand;
-import org.infinispan.config.ConfigurationException;
import org.infinispan.container.DataContainer;
-import org.infinispan.container.entries.InternalCacheEntry;
import org.infinispan.context.InvocationContext;
import org.infinispan.eviction.PassivationManager;
import org.infinispan.factories.annotations.Inject;
-import org.infinispan.factories.annotations.Start;
import org.infinispan.interceptors.base.JmxStatsCommandInterceptor;
import org.infinispan.jmx.annotations.MBean;
import org.infinispan.jmx.annotations.ManagedAttribute;
import org.infinispan.jmx.annotations.ManagedOperation;
-import org.infinispan.loaders.CacheLoaderException;
-import org.infinispan.loaders.CacheLoaderManager;
-import org.infinispan.loaders.CacheStore;
-import org.infinispan.notifications.cachelistener.CacheNotifier;
import org.rhq.helpers.pluginAnnotations.agent.MeasurementType;
import org.rhq.helpers.pluginAnnotations.agent.Metric;
import org.rhq.helpers.pluginAnnotations.agent.Operation;
-import java.util.concurrent.atomic.AtomicLong;
-
/**
* Writes evicted entries back to the store on the way in through the CacheStore
*
Modified: branches/4.2.x/core/src/main/java/org/infinispan/io/GridFile.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/io/GridFile.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/io/GridFile.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,12 +2,8 @@
import org.infinispan.AdvancedCache;
import org.infinispan.Cache;
-import org.infinispan.context.Flag;
-import org.jgroups.util.Streamable;
import org.jgroups.util.Util;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
import java.io.Externalizable;
import java.io.File;
import java.io.FileFilter;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/io/UnsignedNumeric.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/io/UnsignedNumeric.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/io/UnsignedNumeric.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -5,7 +5,6 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.io.OutputStream;
-import java.nio.Buffer;
/**
* Helper to read and write unsigned numerics
Modified: branches/4.2.x/core/src/main/java/org/infinispan/jmx/AbstractJmxRegistration.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/jmx/AbstractJmxRegistration.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/jmx/AbstractJmxRegistration.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -26,12 +26,9 @@
import javax.management.MBeanServer;
-import org.infinispan.CacheException;
import org.infinispan.config.GlobalConfiguration;
import org.infinispan.factories.AbstractComponentRegistry;
import org.infinispan.util.Util;
-import org.infinispan.util.logging.Log;
-import org.infinispan.util.logging.LogFactory;
/**
* Parent class for top level JMX component registration.
@@ -40,7 +37,6 @@
* @since 4.0
*/
public abstract class AbstractJmxRegistration {
- private static final Log log = LogFactory.getLog(AbstractJmxRegistration.class);
String jmxDomain;
MBeanServer mBeanServer;
GlobalConfiguration globalConfig;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/jmx/ResourceDMBean.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/jmx/ResourceDMBean.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/jmx/ResourceDMBean.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -50,13 +50,13 @@
import java.util.regex.Pattern;
/**
- * This class was entirely copied from jgroups 2.7 (same name there). Couldn't simply reuse it
- * because jgroups does not ship with MBean, ManagedAttribute and ManagedOperation. Once jgroups
- * will ship these classes, the code can be dinalmically reused from there.
+ * This class was entirely copied from JGroups 2.7 (same name there). Couldn't simply reuse it
+ * because JGroups does not ship with MBean, ManagedAttribute and ManagedOperation. Once JGroups
+ * will ship these classes, the code can be dynamically reused from there.
* <p/>
* The original JGroup's ResourceDMBean logic has been modified so that {@link #invoke()} method checks
* whether the operation called has been exposed as a {@link ManagedOperation}, otherwise the call
- * fails. JGroups deviated from this logic on purpouse because they liked the fact that you could expose
+ * fails. JGroups deviated from this logic on purpose because they liked the fact that you could expose
* all class methods by simply annotating class with {@link MBean} annotation.
*
* @author Mircea.Markus at jboss.com
Modified: branches/4.2.x/core/src/main/java/org/infinispan/jmx/annotations/MBean.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/jmx/annotations/MBean.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/jmx/annotations/MBean.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -28,7 +28,7 @@
import java.lang.annotation.Target;
/**
- * Classes anotaded with this will be exposed as MBeans. If you are looking for more fined grained way of exposing jmx
+ * Classes annotated with this will be exposed as MBeans. If you are looking for more fined grained way of exposing JMX
* attributes/operations, take a look at {@link org.infinispan.jmx.annotations.ManagedAttribute} and {@link
* org.infinispan.jmx.annotations.ManagedOperation}
*
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/AbstractCacheLoaderConfig.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/AbstractCacheLoaderConfig.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/AbstractCacheLoaderConfig.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -18,7 +18,7 @@
* and Java element types they annotate with utmost understanding and care.
*
* @author Mircea.Markus at jboss.com
- * @autor Vladimir Blagojevic
+ * @author Vladimir Blagojevic
* @since 4.0
*
*/
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/AbstractCacheStore.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/AbstractCacheStore.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/AbstractCacheStore.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -30,7 +30,7 @@
*/
public abstract class AbstractCacheStore extends AbstractCacheLoader implements CacheStore {
- private static Log log = LogFactory.getLog(AbstractCacheStore.class);
+ private static final Log log = LogFactory.getLog(AbstractCacheStore.class);
private Map<GlobalTransaction, List<? extends Modification>> transactions;
private AbstractCacheStoreConfig config;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/CacheLoaderManagerImpl.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/CacheLoaderManagerImpl.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/CacheLoaderManagerImpl.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -116,9 +116,12 @@
public void preload() {
if (loader != null) {
if (clmConfig.isPreload()) {
- log.debug("Preloading transient state from cache loader {0}", loader);
- long start = 0, stop = 0, total = 0;
- if (log.isDebugEnabled()) start = System.currentTimeMillis();
+ long start = 0;
+ boolean debugTiming = log.isDebugEnabled();
+ if (debugTiming) {
+ start = System.currentTimeMillis();
+ log.debug("Preloading transient state from cache loader {0}", loader);
+ }
Set<InternalCacheEntry> state;
try {
state = loadState();
@@ -129,9 +132,10 @@
for (InternalCacheEntry e : state)
cache.getAdvancedCache().withFlags(SKIP_CACHE_STATUS_CHECK, CACHE_MODE_LOCAL).put(e.getKey(), e.getValue(), e.getLifespan(), MILLISECONDS, e.getMaxIdle(), MILLISECONDS);
- if (log.isDebugEnabled()) stop = System.currentTimeMillis();
- if (log.isDebugEnabled()) total = stop - start;
- log.debug("Preloaded {0} keys in {1} milliseconds", state.size(), total);
+ if (debugTiming) {
+ long stop = System.currentTimeMillis();
+ log.debug("Preloaded {0} keys in {1} milliseconds", state.size(), stop - start);
+ }
}
}
}
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/cluster/ClusterCacheLoader.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/cluster/ClusterCacheLoader.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/cluster/ClusterCacheLoader.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -36,7 +36,7 @@
*/
@CacheLoaderMetadata(configurationClass = ClusterCacheLoaderConfig.class)
public class ClusterCacheLoader extends AbstractCacheLoader {
- private static Log log = LogFactory.getLog(ClusterCacheLoader.class);
+ private static final Log log = LogFactory.getLog(ClusterCacheLoader.class);
private ClusterCacheLoaderConfig config;
private RpcManager rpcManager;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/AsyncStore.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/AsyncStore.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/AsyncStore.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -8,10 +8,8 @@
import org.infinispan.loaders.CacheLoaderException;
import org.infinispan.loaders.CacheStore;
import org.infinispan.loaders.modifications.Clear;
-import org.infinispan.loaders.modifications.Commit;
import org.infinispan.loaders.modifications.Modification;
-import org.infinispan.loaders.modifications.Prepare;
-import org.infinispan.loaders.modifications.PurgeExpired;
+import org.infinispan.loaders.modifications.ModificationsList;
import org.infinispan.loaders.modifications.Remove;
import org.infinispan.loaders.modifications.Store;
import org.infinispan.marshall.StreamingMarshaller;
@@ -20,8 +18,6 @@
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
-import java.util.ArrayList;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -30,12 +26,12 @@
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
+import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantLock;
@@ -61,6 +57,7 @@
*
* @author Manik Surtani
* @author Galder Zamarreño
+ * @author Sanne Grinovero
* @since 4.0
*/
public class AsyncStore extends AbstractDelegatingStore {
@@ -68,24 +65,31 @@
private static final boolean trace = log.isTraceEnabled();
private static final AtomicInteger threadId = new AtomicInteger(0);
private final AtomicBoolean stopped = new AtomicBoolean(true);
+
private final AsyncStoreConfig asyncStoreConfig;
-
+ private Map<GlobalTransaction, List<? extends Modification>> transactions;
+
/**
- * Approximate count of number of modified keys. At points, it could contain negative values.
+ * This is used as marker to shutdown the AsyncStoreCoordinator
*/
- private final AtomicInteger count = new AtomicInteger(0);
- private final ReentrantLock lock = new ReentrantLock();
- private final Condition notEmpty = lock.newCondition();
-
+ private static final Modification QUIT_SIGNAL = new Clear();
+
+ /**
+ * clear() is performed in sync by the one thread of storeCoordinator, while blocking all
+ * other threads interacting with the decorated store.
+ */
+ private final ReadWriteLock clearAllLock = new ReentrantReadWriteLock();
+ private final Lock clearAllReadLock = clearAllLock.readLock();
+ private final Lock clearAllWriteLock = clearAllLock.writeLock();
+ private final Lock stateMapLock = new ReentrantLock();
+
ExecutorService executor;
- private List<Future> processorFutures;
- private final ReadWriteLock mapLock = new ReentrantReadWriteLock();
- private final Lock read = mapLock.readLock();
- private final Lock write = mapLock.writeLock();
private int concurrencyLevel;
- @GuardedBy("mapLock")
+ @GuardedBy("stateMapLock")
protected ConcurrentMap<Object, Modification> state;
private ReleaseAllLockContainer lockContainer;
+ private final LinkedBlockingQueue<Modification> changesDeque = new LinkedBlockingQueue<Modification>();
+ public volatile boolean lastAsyncProcessorShutsDownExecutor = false;
public AsyncStore(CacheStore delegate, AsyncStoreConfig asyncStoreConfig) {
super(delegate);
@@ -97,77 +101,97 @@
super.init(config, cache, m);
concurrencyLevel = cache == null || cache.getConfiguration() == null ? 16 : cache.getConfiguration().getConcurrencyLevel();
lockContainer = new ReleaseAllLockContainer(concurrencyLevel);
+ transactions = new ConcurrentHashMap<GlobalTransaction, List<? extends Modification>>(64, 0.75f, concurrencyLevel);
}
@Override
public void store(InternalCacheEntry ed) {
- enqueue(ed.getKey(), new Store(ed));
+ enqueue(new Store(ed));
}
@Override
public boolean remove(Object key) {
- enqueue(key, new Remove(key));
+ enqueue(new Remove(key));
return true;
}
@Override
public void clear() {
Clear clear = new Clear();
- enqueue(clear, clear);
+ checkNotStopped(); //check we can change the changesDeque
+ changesDeque.clear();
+ enqueue(clear);
}
@Override
- public void purgeExpired() {
- PurgeExpired purge = new PurgeExpired();
- enqueue(purge, purge);
+ public void prepare(List<? extends Modification> mods, GlobalTransaction tx, boolean isOnePhase) throws CacheLoaderException {
+ if (isOnePhase) {
+ enqueueModificationsList(mods);
+ } else {
+ transactions.put(tx, mods);
+ }
}
-
+
@Override
- public void prepare(List<? extends Modification> list, GlobalTransaction tx, boolean isOnePhase) {
- Prepare prepare = new Prepare(list, tx, isOnePhase);
- enqueue(prepare, prepare);
+ public void rollback(GlobalTransaction tx) {
+ transactions.remove(tx);
}
@Override
public void commit(GlobalTransaction tx) throws CacheLoaderException {
- Commit commit = new Commit(tx);
- enqueue(commit, commit);
+ List<? extends Modification> list = transactions.remove(tx);
+ enqueueModificationsList(list);
}
+
+ protected void enqueueModificationsList(List<? extends Modification> mods) throws CacheLoaderException {
+ if (mods != null && !mods.isEmpty()) {
+ enqueue(new ModificationsList(mods));
+ }
+ }
@Override
public void start() throws CacheLoaderException {
state = newStateMap();
log.info("Async cache loader starting {0}", this);
stopped.set(false);
+ lastAsyncProcessorShutsDownExecutor = false;
super.start();
int poolSize = asyncStoreConfig.getThreadPoolSize();
- executor = Executors.newFixedThreadPool(poolSize, new ThreadFactory() {
- public Thread newThread(Runnable r) {
- Thread t = new Thread(r, "CoalescedAsyncStore-" + threadId.getAndIncrement());
- t.setDaemon(true);
- return t;
- }
- });
- processorFutures = new ArrayList<Future>(poolSize);
- for (int i = 0; i < poolSize; i++) processorFutures.add(executor.submit(createAsyncProcessor()));
+ executor = new ThreadPoolExecutor(poolSize, poolSize, 0L, TimeUnit.MILLISECONDS,
+ // note the use of poolSize+1 as maximum workingQueue together with DiscardPolicy:
+ // this way when a new AsyncProcessor is started unnecessarily we discard it
+ // before it takes locks to perform no work
+ // this way we save memory from the executor queue, CPU, and also avoid
+ // any possible RejectedExecutionException.
+ new LinkedBlockingQueue<Runnable>(poolSize + 1),
+ new ThreadFactory() {
+ public Thread newThread(Runnable r) {
+ Thread t = new Thread(r, "CoalescedAsyncStore-" + threadId.getAndIncrement());
+ t.setDaemon(true);
+ return t;
+ }
+ },
+ new ThreadPoolExecutor.DiscardPolicy()
+ );
+ startStoreCoordinator();
}
+ private void startStoreCoordinator() {
+ ExecutorService storeCoordinator = Executors.newFixedThreadPool(1);
+ storeCoordinator.execute( new AsyncStoreCoordinator() );
+ storeCoordinator.shutdown();
+ }
+
@Override
public void stop() throws CacheLoaderException {
stopped.set(true);
- if (executor != null) {
- for (Future f : processorFutures) f.cancel(true);
- executor.shutdown();
- try {
- boolean terminated = executor.isTerminated();
- while (!terminated) {
- terminated = executor.awaitTermination(60, TimeUnit.SECONDS);
- }
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- }
+ try {
+ changesDeque.put(QUIT_SIGNAL);
+ executor.awaitTermination(asyncStoreConfig.getShutdownTimeout(), TimeUnit.SECONDS);
+ } catch (InterruptedException e) {
+ log.error("Interrupted or timeout while waiting for AsyncStore worker threads to push all state to the decorated store", e);
+ Thread.currentThread().interrupt();
}
- executor = null;
super.stop();
}
@@ -182,81 +206,46 @@
case REMOVE:
super.remove(entry.getKey());
break;
- case CLEAR:
- super.clear();
- break;
- case PURGE_EXPIRED:
- super.purgeExpired();
- break;
- case PREPARE:
- List<? extends Modification> coalesced = coalesceModificationList(((Prepare) mod).getList());
- super.prepare(coalesced, ((Prepare) mod).getTx(), ((Prepare) mod).isOnePhase());
- break;
- case COMMIT:
- super.commit(((Commit) mod).getTx());
- break;
+ default:
+ throw new IllegalArgumentException("Unexpected modification type " + mod.getType());
}
}
}
-
- protected Runnable createAsyncProcessor() {
- return new AsyncProcessor();
+
+ protected boolean applyClear() {
+ try {
+ super.clear();
+ return true;
+ } catch (CacheLoaderException e) {
+ log.error("Error performing clear in AsyncStore", e);
+ return false;
+ }
}
-
- private List<? extends Modification> coalesceModificationList(List<? extends Modification> mods) {
- Map<Object, Modification> keyMods = new HashMap<Object, Modification>();
- List<Modification> coalesced = new ArrayList<Modification>();
- for (Modification mod : mods) {
- switch (mod.getType()) {
- case STORE:
- keyMods.put(((Store) mod).getStoredEntry().getKey(), mod);
- break;
- case CLEAR:
- keyMods.clear(); // remove all pending key modifications
- coalesced.add(mod); // add a clear so that future put/removes do not need to do anything
- break;
- case REMOVE:
- if (!coalesced.isEmpty() && keyMods.containsKey(((Remove) mod).getKey())) {
- keyMods.remove(((Remove) mod).getKey()); // clear, p(k), r(k) sequence should result in no-op for k
- } else if (coalesced.isEmpty()) {
- keyMods.put(((Remove) mod).getKey(), mod);
- }
- break;
- default:
- throw new IllegalArgumentException("Unknown modification type " + mod.getType());
- }
+
+ protected void delegatePurgeExpired() {
+ try {
+ super.purgeExpired();
+ } catch (CacheLoaderException e) {
+ log.error("Error performing PurgeExpired in AsyncStore", e);
}
- coalesced.addAll(keyMods.values());
- return coalesced;
}
- private void enqueue(Object key, Modification mod) {
+ private void enqueue(Modification mod) {
try {
- if (stopped.get()) {
- throw new CacheException("AsyncStore stopped; no longer accepting more entries.");
- }
+ checkNotStopped();
if (trace) log.trace("Enqueuing modification {0}", mod);
- Modification prev = null;
- int c = -1;
- boolean unlock = false;
- try {
- acquireLock(read);
- unlock = true;
- prev = state.put(key, mod); // put the key's latest state in updates
- } finally {
- if (unlock) read.unlock();
- }
- /* Increment can happen outside the lock cos worst case scenario a false not empty would
- * be sent if the swap and decrement happened between the put and the increment. In this
- * case, the corresponding processor would see the map empty and would wait again. This
- * means that we're allowing count to potentially go negative but that's not a problem. */
- if (prev == null) c = count.getAndIncrement();
- if (c == 0) signalNotEmpty();
+ changesDeque.add(mod);
} catch (Exception e) {
throw new CacheException("Unable to enqueue asynchronous task", e);
}
}
+ private void checkNotStopped() {
+ if (stopped.get()) {
+ throw new CacheException("AsyncStore stopped; no longer accepting more entries.");
+ }
+ }
+
private void acquireLock(Lock lock) {
try {
if (!lock.tryLock(asyncStoreConfig.getFlushLockTimeout(), TimeUnit.MILLISECONDS))
@@ -267,105 +256,85 @@
}
}
- private void signalNotEmpty() {
- lock.lock();
- try {
- notEmpty.signal();
- } finally {
- lock.unlock();
- }
- }
-
- private void awaitNotEmptyOrStopped() throws InterruptedException {
- lock.lockInterruptibly();
- try {
- try {
- while (count.get() == 0) {
- if (stopped.get()) {
- notEmpty.signal();
- return;
- }
- notEmpty.await();
- }
- } catch (InterruptedException ie) {
- notEmpty.signal(); // propagate to a non-interrupted thread
- throw ie;
- }
- } finally {
- lock.unlock();
- }
- }
-
- private int decrementAndGet(int delta) {
- for (; ;) {
- int current = count.get();
- int next = current - delta;
- if (count.compareAndSet(current, next)) return next;
- }
- }
-
/**
* Processes modifications taking the latest updates from a state map.
*/
class AsyncProcessor implements Runnable {
- private ConcurrentMap<Object, Modification> swap = newStateMap();
private final Set<Object> lockedKeys = new HashSet<Object>();
+ boolean runAgainAfterWaiting = false;
public void run() {
- while (!Thread.interrupted() && !stopped.get()) {
+ clearAllReadLock.lock();
+ try {
+ innerRun();
+ } catch (Throwable t) {
+ runAgainAfterWaiting = false;
+ log.error("Unexpected error", t);
+ } finally {
+ clearAllReadLock.unlock();
+ }
+ if (runAgainAfterWaiting) {
try {
- run0();
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ // just speedup ignoring more sleep but still make sure to store all data
}
- catch (InterruptedException e) {
- break;
- }
+ ensureMoreWorkIsHandled();
}
-
- try {
- if (trace) log.trace("Process remaining batch {0}", swap.size());
- put(swap);
- if (trace) log.trace("Process remaining queued {0}", state.size());
- while (!state.isEmpty()) run0();
- } catch (InterruptedException e) {
- if (trace) log.trace("Remaining interrupted");
- }
}
-
- void run0() throws InterruptedException {
+
+ private void innerRun() {
+ final ConcurrentMap<Object, Modification> swap;
if (trace) log.trace("Checking for modifications");
- boolean unlock = false;
-
try {
- acquireLock(write);
- unlock = true;
- swap = state;
- state = newStateMap();
+ acquireLock(stateMapLock);
+ try {
+ swap = state;
+ state = newStateMap();
- // This needs doing within the WL section, because if a key is in use, we need to put it back in the state
- // map for later processing and we don't wanna do it in such way that we override a newer value that might
- // have been enqueued by a user thread.
- for (Object key : swap.keySet()) {
- boolean acquired = lockContainer.acquireLock(key, 0, TimeUnit.NANOSECONDS) != null;
- if (trace) log.trace("Lock for key {0} was acquired={1}", key, acquired);
- if (!acquired) {
- Modification prev = swap.remove(key);
- state.put(key, prev);
- } else {
- lockedKeys.add(key);
+ // This needs to be done within the stateMapLock section, because if a key is in use,
+ // we need to put it back in the state
+ // map for later processing and we don't wanna do it in such way that we override a
+ // newer value that might
+ // have been taken already for processing by another instance of this same code.
+ // AsyncStoreCoordinator doesn't need to acquired the same lock as values put by it
+ // will never be overwritten (putIfAbsent below)
+ for (Object key : swap.keySet()) {
+ if (trace) log.trace("Going to process mod key: {0}", key);
+ boolean acquired = false;
+ try {
+ acquired = lockContainer.acquireLock(key, 0, TimeUnit.NANOSECONDS) != null;
+ } catch (InterruptedException e) {
+ log.error("interrupted on acquireLock {0}, 0 nanoseconds!", e);
+ Thread.currentThread().interrupt();
+ return;
+ }
+ if (trace)
+ log.trace("Lock for key {0} was acquired={1}", key, acquired);
+ if (!acquired) {
+ Modification prev = swap.remove(key);
+ Modification didPut = state.putIfAbsent(key, prev); // don't overwrite more recently put work
+ if (didPut == null) {
+ // otherwise a new job is being spawned by the arbiter, so no need to create
+ // a new worker
+ runAgainAfterWaiting = true;
+ }
+ } else {
+ lockedKeys.add(key);
+ }
}
+ } finally {
+ stateMapLock.unlock();
}
- } finally {
- if (unlock) write.unlock();
- }
- try {
- int size = swap.size();
if (swap.isEmpty()) {
- awaitNotEmptyOrStopped();
+ if (lastAsyncProcessorShutsDownExecutor && runAgainAfterWaiting == false) {
+ executor.shutdown();
+ }
+ return;
} else {
- decrementAndGet(size);
-
- if (trace) log.trace("Apply {0} modifications", size);
+ if (trace)
+ log.trace("Apply {0} modifications", swap.size());
int maxRetries = 3;
int attemptNumber = 0;
boolean successful;
@@ -386,22 +355,12 @@
}
}
- boolean put(ConcurrentMap<Object, Modification> mods) throws InterruptedException {
+ boolean put(ConcurrentMap<Object, Modification> mods) {
try {
AsyncStore.this.applyModificationsSync(mods);
return true;
} catch (Exception e) {
- boolean isDebug = log.isDebugEnabled();
- if (isDebug) log.debug("Failed to process async modifications", e);
- Throwable cause = e;
- while (cause != null) {
- if (cause instanceof InterruptedException) {
- // 3rd party code may have cleared the thread interrupt status
- if (isDebug) log.debug("Rethrowing InterruptedException");
- throw (InterruptedException) cause;
- }
- cause = cause.getCause();
- }
+ if (log.isDebugEnabled()) log.debug("Failed to process async modifications", e);
return false;
}
}
@@ -410,7 +369,7 @@
private ConcurrentMap<Object, Modification> newStateMap() {
return new ConcurrentHashMap<Object, Modification>(64, 0.75f, concurrencyLevel);
}
-
+
private static class ReleaseAllLockContainer extends ReentrantPerEntryLockContainer {
private ReleaseAllLockContainer(int concurrencyLevel) {
super(concurrencyLevel);
@@ -423,4 +382,112 @@
}
}
}
+
+ private void ensureMoreWorkIsHandled() {
+ executor.execute(new AsyncProcessor());
+ }
+
+ private class AsyncStoreCoordinator implements Runnable {
+
+ @Override
+ public void run() {
+ while (true) {
+ try {
+ Modification take = changesDeque.take();
+ if (take == QUIT_SIGNAL) {
+ lastAsyncProcessorShutsDownExecutor = true;
+ ensureMoreWorkIsHandled();
+ return;
+ }
+ else {
+ handleSafely(take);
+ }
+ } catch (InterruptedException e) {
+ log.error("AsyncStoreCoordinator interrupted", e);
+ return;
+ } catch (Throwable t) {
+ log.error("Unexpected error in AsyncStoreCoordinator thread. AsyncStore is dead!", t);
+ }
+ }
+ }
+
+ private void handleSafely(Modification mod) {
+ try {
+ if (trace) log.trace("taking from modification queue: {0}", mod);
+ handle(mod, false);
+ } catch (Exception e) {
+ log.error("Error while handling Modification in AsyncStore", e);
+ }
+ }
+
+ private void handle(Modification mod, boolean nested) {
+ boolean asyncProcessorNeeded = false;
+ switch (mod.getType()) {
+ case STORE:
+ Store store = (Store) mod;
+ stateMapLock.lock();
+ state.put(store.getStoredEntry().getKey(), store);
+ stateMapLock.unlock();
+ asyncProcessorNeeded = true;
+ break;
+ case REMOVE:
+ Remove remove = (Remove) mod;
+ stateMapLock.lock();
+ state.put(remove.getKey(), remove);
+ stateMapLock.unlock();
+ asyncProcessorNeeded = true;
+ break;
+ case CLEAR:
+ performClear();
+ break;
+ case PURGE_EXPIRED:
+ delegatePurgeExpired();
+ break;
+ case LIST:
+ applyModificationsList((ModificationsList) mod);
+ asyncProcessorNeeded = true;
+ break;
+ default:
+ throw new IllegalArgumentException("Unexpected modification type " + mod.getType());
+ }
+ if (asyncProcessorNeeded && !nested) {
+ // we know when it's possible for some work to be done, starting short-lived
+ // AsyncProcessor(s) simplifies shutdown process.
+ ensureMoreWorkIsHandled();
+ }
+ }
+
+ private void applyModificationsList(ModificationsList mod) {
+ for (Modification m : mod.getList()) {
+ handle(m, true);
+ }
+ }
+
+ private void performClear() {
+ state.clear(); // cancel any other scheduled changes
+ clearAllWriteLock.lock(); // ensure no other tasks concurrently working
+ try {
+ // to acquire clearAllWriteLock we might have had to wait for N AsyncProcessor to have finished
+ // (as they have to release all clearAllReadLock),
+ // so as they might have put back some work to the state map, clear the state map again inside the writeLock:
+ state.clear();
+ if (trace) log.trace("Performed clear operation");
+ int maxRetries = 3;
+ int attemptNumber = 0;
+ boolean successful = false;
+ do {
+ if (attemptNumber > 0 && log.isDebugEnabled())
+ log.debug("Retrying clear() due to previous failure. {0} attempts left.", maxRetries - attemptNumber);
+ successful = applyClear();
+ attemptNumber++;
+ } while (!successful && attemptNumber <= maxRetries);
+ if (!successful) {
+ log.error("Clear() operation in async store could not be performed");
+ }
+ } finally {
+ clearAllWriteLock.unlock();
+ }
+ }
+
+ }
}
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/AsyncStoreConfig.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/AsyncStoreConfig.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/AsyncStoreConfig.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -42,6 +42,11 @@
@Dynamic
protected Long flushLockTimeout = 5000L;
+ /** @configRef desc="Timeout to stop the cache store. When the store is stopped it's possible that some modifications still need to be applied;
+ * you likely want to set a very large timeout to make sure to not loose data." */
+ @Dynamic
+ protected Long shutdownTimeout = 7200L;
+
@XmlAttribute
public Boolean isEnabled() {
return enabled;
@@ -70,8 +75,18 @@
public void setFlushLockTimeout(Long stateLockTimeout) {
testImmutability("flushLockTimeout");
this.flushLockTimeout = stateLockTimeout;
- }
+ }
+ @XmlAttribute
+ public Long getShutdownTimeout() {
+ return shutdownTimeout;
+ }
+
+ public void setShutdownTimeout(Long shutdownTimeout) {
+ testImmutability("shutdownTimeout");
+ this.shutdownTimeout = shutdownTimeout;
+ }
+
@Override
public AsyncStoreConfig clone() {
try {
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/SingletonStore.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/SingletonStore.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/decorators/SingletonStore.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -36,7 +36,7 @@
* SingletonStore is a simply facade to a real CacheStore implementation. It always delegates reads to the real
* CacheStore.
* <p/>
- * Writes are delegated <i>only if,/i> this SingletonStore is currently the cordinator. This avoids having all stores in
+ * Writes are delegated <i>only if</i> this SingletonStore is currently the coordinator. This avoids having all stores in
* a cluster writing the same data to the same underlying store. Although not incorrect (e.g. a DB will just discard
* additional INSERTs for the same key, and throw an exception), this will avoid a lot of redundant work.
* <p/>
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Commit.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Commit.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Commit.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -62,5 +62,10 @@
Commit other = (Commit) obj;
return tx.equals(other.tx);
}
+
+ @Override
+ public String toString() {
+ return "Commit: " + tx;
+ }
}
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Modification.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Modification.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Modification.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -8,7 +8,7 @@
*/
public interface Modification {
public static enum Type {
- STORE, REMOVE, CLEAR, PURGE_EXPIRED, PREPARE, COMMIT
+ STORE, REMOVE, CLEAR, PURGE_EXPIRED, PREPARE, COMMIT, LIST
}
Type getType();
Copied: branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/ModificationsList.java (from rev 2323, branches/4.1.x/core/src/main/java/org/infinispan/loaders/modifications/ModificationsList.java)
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/ModificationsList.java (rev 0)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/ModificationsList.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -0,0 +1,79 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.infinispan.loaders.modifications;
+
+import java.util.List;
+
+/**
+ * ModificationsList contains a List<Modification>
+ *
+ * @author Sanne Grinovero
+ * @since 4.1
+ */
+public class ModificationsList implements Modification {
+
+ private final List<? extends Modification> list;
+
+ public ModificationsList(List<? extends Modification> list) {
+ this.list = list;
+ }
+
+ @Override
+ public Type getType() {
+ return Modification.Type.LIST;
+ }
+
+ public List<? extends Modification> getList() {
+ return list;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((list == null) ? 0 : list.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ModificationsList other = (ModificationsList) obj;
+ if (list == null) {
+ if (other.list != null)
+ return false;
+ } else if (!list.equals(other.list))
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "ModificationsList: [" + list + "]";
+ }
+
+}
Modified: branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Prepare.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Prepare.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/loaders/modifications/Prepare.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -80,5 +80,16 @@
result = 31 * result + (isOnePhase ? 1 : 0);
return result;
}
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Prepare:");
+ sb.append(tx);
+ sb.append(" isOnePhase:");
+ sb.append(String.valueOf(isOnePhase));
+ sb.append(";[").append(list).append("]");
+ return sb.toString();
+ }
}
Modified: branches/4.2.x/core/src/main/java/org/infinispan/manager/CacheContainer.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/manager/CacheContainer.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/manager/CacheContainer.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,19 +1,8 @@
package org.infinispan.manager;
import org.infinispan.Cache;
-import org.infinispan.config.Configuration;
-import org.infinispan.config.GlobalConfiguration;
-import org.infinispan.factories.annotations.SurvivesRestarts;
-import org.infinispan.factories.scopes.Scope;
-import org.infinispan.factories.scopes.Scopes;
-import org.infinispan.lifecycle.ComponentStatus;
import org.infinispan.lifecycle.Lifecycle;
-import org.infinispan.notifications.Listenable;
-import org.infinispan.remoting.transport.Address;
-import java.util.List;
-import java.util.Set;
-
/**
* A <tt>CacheContainer</tt> is the primary mechanism for retrieving a {@link org.infinispan.Cache} instance, and is often
* used as a starting point to using the {@link org.infinispan.Cache}.
Modified: branches/4.2.x/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -24,7 +24,6 @@
import org.infinispan.Cache;
import org.infinispan.Version;
import org.infinispan.config.Configuration;
-import org.infinispan.config.ConfigurationBeanVisitor;
import org.infinispan.config.ConfigurationException;
import org.infinispan.config.ConfigurationValidatingVisitor;
import org.infinispan.config.GlobalConfiguration;
@@ -116,14 +115,16 @@
private final GlobalComponentRegistry globalComponentRegistry;
/**
- * Constructs and starts a default instance of the CacheManager, using configuration defaults.
+ * Constructs and starts a default instance of the CacheManager, using configuration defaults. See {@link Configuration}
+ * and {@link GlobalConfiguration} for details of these defaults.
*/
public DefaultCacheManager() {
this(null, null, true);
}
/**
- * Constructs a default instance of the CacheManager, using configuration defaults.
+ * Constructs a default instance of the CacheManager, using configuration defaults. See {@link Configuration}
+ * and {@link GlobalConfiguration} for details of these defaults.
*
* @param start if true, the cache manager is started
*/
@@ -133,7 +134,7 @@
/**
* Constructs and starts a new instance of the CacheManager, using the default configuration passed in. Uses defaults
- * for a {@link org.infinispan.config.GlobalConfiguration}.
+ * for a {@link GlobalConfiguration}. See {@link GlobalConfiguration} for details of these defaults.
*
* @param defaultConfiguration configuration to use as a template for all caches created
*/
@@ -143,7 +144,7 @@
/**
* Constructs a new instance of the CacheManager, using the default configuration passed in. Uses defaults for a {@link
- * org.infinispan.config.GlobalConfiguration}.
+ * org.infinispan.config.GlobalConfiguration}. See {@link GlobalConfiguration} for details of these defaults.
*
* @param defaultConfiguration configuration file to use as a template for all caches created
* @param start if true, the cache manager is started
@@ -154,7 +155,7 @@
/**
* Constructs and starts a new instance of the CacheManager, using the global configuration passed in, and system
- * defaults for the default named cache configuration.
+ * defaults for the default named cache configuration. See {@link Configuration} for details of these defaults.
*
* @param globalConfiguration GlobalConfiguration to use for all caches created
*/
@@ -164,7 +165,7 @@
/**
* Constructs a new instance of the CacheManager, using the global configuration passed in, and system defaults for the
- * default named cache configuration.
+ * default named cache configuration. See {@link Configuration} for details of these defaults.
*
* @param globalConfiguration GlobalConfiguration to use for all caches created
* @param start if true, the cache manager is started.
Modified: branches/4.2.x/core/src/main/java/org/infinispan/marshall/AbstractMarshaller.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/marshall/AbstractMarshaller.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/marshall/AbstractMarshaller.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -7,7 +7,7 @@
/**
* Abstract Marshaller implementation containing shared implementations.
*
- * @author Galder Zamarre�o
+ * @author Galder Zamarreño
* @since 4.1
*/
public abstract class AbstractMarshaller implements Marshaller {
Modified: branches/4.2.x/core/src/main/java/org/infinispan/marshall/AbstractStreamingMarshaller.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/marshall/AbstractStreamingMarshaller.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/marshall/AbstractStreamingMarshaller.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,5 @@
package org.infinispan.marshall;
-import org.infinispan.io.ByteBuffer;
import org.infinispan.io.ExposedByteArrayOutputStream;
import java.io.*;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/marshall/MarshalledValue.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/marshall/MarshalledValue.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/marshall/MarshalledValue.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -33,7 +33,6 @@
import java.io.NotSerializableException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
-import java.io.Serializable;
import java.util.Arrays;
/**
Modified: branches/4.2.x/core/src/main/java/org/infinispan/marshall/StreamingMarshaller.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/marshall/StreamingMarshaller.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/marshall/StreamingMarshaller.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -24,7 +24,6 @@
import net.jcip.annotations.ThreadSafe;
import org.infinispan.factories.scopes.Scope;
import org.infinispan.factories.scopes.Scopes;
-import org.infinispan.io.ByteBuffer;
import java.io.IOException;
import java.io.InputStream;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/marshall/jboss/GenericJBossMarshaller.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/marshall/jboss/GenericJBossMarshaller.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/marshall/jboss/GenericJBossMarshaller.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -4,7 +4,6 @@
import org.infinispan.io.ByteBuffer;
import org.infinispan.io.ExposedByteArrayOutputStream;
import org.infinispan.marshall.AbstractMarshaller;
-import org.infinispan.marshall.Marshaller;
import org.infinispan.util.Util;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/marshall/jboss/JBossMarshaller.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/marshall/jboss/JBossMarshaller.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/marshall/jboss/JBossMarshaller.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,34 +21,14 @@
*/
package org.infinispan.marshall.jboss;
-import org.infinispan.CacheException;
import org.infinispan.commands.RemoteCommandsFactory;
-import org.infinispan.io.ByteBuffer;
import org.infinispan.io.ExposedByteArrayOutputStream;
-import org.infinispan.marshall.AbstractStreamingMarshaller;
import org.infinispan.marshall.Marshallable;
import org.infinispan.marshall.StreamingMarshaller;
import org.infinispan.util.ReflectionUtil;
-import org.infinispan.util.Util;
-import org.infinispan.util.logging.Log;
-import org.infinispan.util.logging.LogFactory;
-import org.jboss.marshalling.ContextClassResolver;
-import org.jboss.marshalling.ExceptionListener;
-import org.jboss.marshalling.MarshallerFactory;
-import org.jboss.marshalling.Marshalling;
-import org.jboss.marshalling.MarshallingConfiguration;
-import org.jboss.marshalling.TraceInformation;
-import org.jboss.marshalling.Unmarshaller;
-import org.jboss.marshalling.reflect.SunReflectiveCreator;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.OutputStream;
-import java.lang.reflect.Method;
-import java.net.URL;
/**
* A specialized form of the {@link GenericJBossMarshaller}, making use of a custom object table for types internal to
Modified: branches/4.2.x/core/src/main/java/org/infinispan/remoting/ReplicationQueue.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/remoting/ReplicationQueue.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/remoting/ReplicationQueue.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -35,7 +35,6 @@
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
-import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.BlockingQueue;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/remoting/transport/jgroups/CommandAwareRpcDispatcher.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/remoting/transport/jgroups/CommandAwareRpcDispatcher.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/remoting/transport/jgroups/CommandAwareRpcDispatcher.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -31,7 +31,6 @@
import org.infinispan.remoting.responses.RequestIgnoredResponse;
import org.infinispan.remoting.responses.Response;
import org.infinispan.remoting.transport.DistributedSync;
-import org.infinispan.util.Util;
import org.infinispan.util.concurrent.TimeoutException;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
@@ -57,7 +56,6 @@
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -83,7 +83,7 @@
private static final boolean trace = log.isTraceEnabled();
private static final Byte DELIMITER = (byte) 123;
- boolean transientState, persistentState;
+ boolean transientState, persistentState, alwaysProvideTransientState;
volatile boolean needToUnblockRPC = false;
volatile Address stateSender;
@@ -112,19 +112,22 @@
log.trace("Data container is {0}", System.identityHashCode(dataContainer));
cs = clm == null ? null : clm.getCacheStore();
transientState = configuration.isFetchInMemoryState();
+ alwaysProvideTransientState = configuration.isAlwaysProvideInMemoryState();
persistentState = cs != null && clm.isEnabled() && clm.isFetchPersistentState() && !clm.isShared();
- long startTime = 0;
- if (log.isDebugEnabled()) {
- log.debug("Initiating state transfer process");
- startTime = System.currentTimeMillis();
- }
+ if (transientState || persistentState) {
+ long startTime = 0;
+ if (log.isDebugEnabled()) {
+ log.debug("Initiating state transfer process");
+ startTime = System.currentTimeMillis();
+ }
- rpcManager.retrieveState(cache.getName(), configuration.getStateRetrievalTimeout());
+ rpcManager.retrieveState(cache.getName(), configuration.getStateRetrievalTimeout());
- if (log.isDebugEnabled()) {
- long duration = System.currentTimeMillis() - startTime;
- log.debug("State transfer process completed in {0}", Util.prettyPrintTime(duration));
+ if (log.isDebugEnabled()) {
+ long duration = System.currentTimeMillis() - startTime;
+ log.debug("State transfer process completed in {0}", Util.prettyPrintTime(duration));
+ }
}
}
@@ -141,8 +144,7 @@
ObjectOutput oo = null;
boolean txLogActivated = false;
try {
- boolean canProvideState = (transientState || persistentState)
- && (txLogActivated = transactionLog.activate());
+ boolean canProvideState = (txLogActivated = transactionLog.activate());
if (log.isDebugEnabled()) log.debug("Generating state. Can provide? {0}", canProvideState);
oo = marshaller.startObjectOutput(out, false);
@@ -152,7 +154,7 @@
if (canProvideState) {
delimit(oo);
- if (transientState) generateInMemoryState(oo);
+ if (transientState || alwaysProvideTransientState) generateInMemoryState(oo); // always provide in-memory state if requested. ISPN-610.
delimit(oo);
if (persistentState) generatePersistentState(oo);
delimit(oo);
Modified: branches/4.2.x/core/src/main/java/org/infinispan/transaction/TransactionLog.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/transaction/TransactionLog.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/transaction/TransactionLog.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -89,7 +89,7 @@
}
}
- private static Log log = LogFactory.getLog(TransactionLog.class);
+ private static final Log log = LogFactory.getLog(TransactionLog.class);
public void logPrepare(PrepareCommand command) {
pendingPrepares.put(command.getGlobalTransaction(), command);
Modified: branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/CacheTransaction.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/CacheTransaction.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/CacheTransaction.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -5,7 +5,6 @@
import org.infinispan.util.BidirectionalMap;
import java.util.List;
-import java.util.Map;
/**
* Defines the state a infinispan transaction should have.
Modified: branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/DeadlockDetectingGlobalTransaction.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/DeadlockDetectingGlobalTransaction.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/DeadlockDetectingGlobalTransaction.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -20,7 +20,7 @@
@Marshallable(externalizer = DeadlockDetectingGlobalTransaction.Externalizer.class, id = Ids.DEADLOCK_DETECTING_GLOBAL_TRANSACTION)
public class DeadlockDetectingGlobalTransaction extends GlobalTransaction {
- private static Log log = LogFactory.getLog(DeadlockDetectingGlobalTransaction.class);
+ private static final Log log = LogFactory.getLog(DeadlockDetectingGlobalTransaction.class);
public static final boolean trace = log.isTraceEnabled();
Modified: branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/RemoteTransaction.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/RemoteTransaction.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/RemoteTransaction.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -9,7 +9,6 @@
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
/**
* Defines the state of a remotely originated transaction.
Modified: branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionTable.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionTable.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionTable.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -41,7 +41,7 @@
*/
public class TransactionTable {
- private static Log log = LogFactory.getLog(TransactionTable.class);
+ private static final Log log = LogFactory.getLog(TransactionTable.class);
private static boolean trace = log.isTraceEnabled();
private final Map<Transaction, TransactionXaAdapter> localTransactions = new HashMap<Transaction, TransactionXaAdapter>();
Modified: branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionXaAdapter.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionXaAdapter.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionXaAdapter.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -22,7 +22,6 @@
import javax.transaction.xa.Xid;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
/**
* This acts both as an local {@link org.infinispan.transaction.xa.CacheTransaction} and implementor of an {@link
@@ -33,7 +32,7 @@
*/
public class TransactionXaAdapter implements CacheTransaction, XAResource {
- private static Log log = LogFactory.getLog(TransactionXaAdapter.class);
+ private static final Log log = LogFactory.getLog(TransactionXaAdapter.class);
private static boolean trace = log.isTraceEnabled();
private int txTimeout;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/FileLookup.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/FileLookup.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/FileLookup.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -32,9 +32,9 @@
import java.net.URL;
/**
- * Holds the logic of looking up a file, in the following sequence: <ol> <li> try to load it with the curent thread's
+ * Holds the logic of looking up a file, in the following sequence: <ol> <li> try to load it with the current thread's
* context ClassLoader</li> <li> if fails, the system ClassLoader</li> <li> if fails, try to load it as a file from the
- * disck </li> </ol>
+ * disk </li> </ol>
*
* @author Mircea.Markus at jboss.com
* @since 4.0
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/InfinispanCollections.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/InfinispanCollections.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/InfinispanCollections.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -19,12 +19,12 @@
@SuppressWarnings("unchecked")
public static <T> ReversibleOrderedSet<T> emptyReversibleOrderedSet() {
- return (ReversibleOrderedSet<T>) EMPTY_ROS;
+ return EMPTY_ROS;
}
@SuppressWarnings("unchecked")
public static <K, V> BidirectionalMap<K, V> emptyBidirectionalMap() {
- return (BidirectionalMap<K, V>) EMPTY_BIDI_MAP;
+ return EMPTY_BIDI_MAP;
}
private static final class EmptyReversibleOrderedSet extends AbstractSet implements ReversibleOrderedSet {
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/LegacyKeySupportSystemProperties.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/LegacyKeySupportSystemProperties.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/LegacyKeySupportSystemProperties.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,8 +3,6 @@
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
-import java.util.Properties;
-
/**
* A wrapper around system properties that supports legacy keys
*
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/Proxies.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/Proxies.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/Proxies.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -22,8 +22,6 @@
package org.infinispan.util;
import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Set;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/AbstractInProcessNotifyingFuture.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/AbstractInProcessNotifyingFuture.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/AbstractInProcessNotifyingFuture.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,5 @@
package org.infinispan.util.concurrent;
-import java.util.concurrent.ExecutionException;
-
/**
* An abstract NotifyingFuture that has "completed"
*
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/IsolationLevel.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/IsolationLevel.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/IsolationLevel.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,9 +21,6 @@
*/
package org.infinispan.util.concurrent;
-import javax.xml.bind.annotation.XmlNsForm;
-import javax.xml.bind.annotation.XmlSchema;
-
/**
* Various transaction isolation levels as an enumerated class. Note that <a href="http://wiki.jboss.org/wiki/JBossCacheMVCC">MVCC</a>
* only supports {@link #READ_COMMITTED} and {@link #REPEATABLE_READ}, upgrading where possible.
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/StripedLock.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/StripedLock.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/StripedLock.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -48,7 +48,7 @@
@ThreadSafe
public class StripedLock {
- private static Log log = LogFactory.getLog(StripedLock.class);
+ private static final Log log = LogFactory.getLog(StripedLock.class);
private static final int DEFAULT_CONCURRENCY = 20;
private final int lockSegmentMask;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/containers/AbstractPerEntryLockContainer.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/containers/AbstractPerEntryLockContainer.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/containers/AbstractPerEntryLockContainer.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,5 @@
package org.infinispan.util.concurrent.locks.containers;
-import org.infinispan.util.Util;
-
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/containers/AbstractStripedLockContainer.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/containers/AbstractStripedLockContainer.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/concurrent/locks/containers/AbstractStripedLockContainer.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -22,7 +22,6 @@
package org.infinispan.util.concurrent.locks.containers;
import net.jcip.annotations.ThreadSafe;
-import org.infinispan.util.Util;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
Modified: branches/4.2.x/core/src/main/java/org/infinispan/util/hash/MurmurHash2.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/util/hash/MurmurHash2.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/java/org/infinispan/util/hash/MurmurHash2.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,8 +2,6 @@
import org.infinispan.util.ByteArrayKey;
-import java.util.Random;
-
/**
* An implementation of Austin Appleby's MurmurHash2.0 algorithm, as documented on <a href="http://sites.google.com/site/murmurhash/">his website</a>.
* <p />
Modified: branches/4.2.x/core/src/main/resources/config-samples/all.xml
===================================================================
--- branches/4.2.x/core/src/main/resources/config-samples/all.xml 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/main/resources/config-samples/all.xml 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<!-- *************************** -->
<!-- System-wide global settings -->
@@ -104,7 +104,7 @@
<!--
Defines whether to retrieve state on startup
-->
- <stateRetrieval timeout="20000" fetchInMemoryState="false"/>
+ <stateRetrieval timeout="20000" fetchInMemoryState="false" alwaysProvideInMemoryState="false"/>
<!--
Network calls are synchronous.
Modified: branches/4.2.x/core/src/test/java/org/infinispan/affinity/BaseFilterKeyAffinityServiceTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/affinity/BaseFilterKeyAffinityServiceTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/affinity/BaseFilterKeyAffinityServiceTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -7,7 +7,6 @@
import org.infinispan.test.TestingUtil;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
-import org.testng.annotations.Test;
import java.util.List;
import java.util.Map;
@@ -21,7 +20,7 @@
*/
public abstract class BaseFilterKeyAffinityServiceTest extends BaseKeyAffinityServiceTest {
- private static Log log = LogFactory.getLog(BaseFilterKeyAffinityServiceTest.class);
+ private static final Log log = LogFactory.getLog(BaseFilterKeyAffinityServiceTest.class);
protected EmbeddedCacheManager cacheManager;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/affinity/FilteredKeyAffinityService.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/affinity/FilteredKeyAffinityService.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/affinity/FilteredKeyAffinityService.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -5,7 +5,6 @@
import org.testng.annotations.Test;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/affinity/LocalKeyAffinityServiceTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/affinity/LocalKeyAffinityServiceTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/affinity/LocalKeyAffinityServiceTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,10 +1,7 @@
package org.infinispan.affinity;
-import junit.framework.Assert;
-import org.infinispan.Cache;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.remoting.transport.Address;
-import org.infinispan.test.TestingUtil;
import org.testng.annotations.Test;
import java.util.Collections;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/api/mvcc/read_committed/CacheAPIMVCCTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/api/mvcc/read_committed/CacheAPIMVCCTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/api/mvcc/read_committed/CacheAPIMVCCTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,7 +2,6 @@
import org.infinispan.api.CacheAPITest;
import org.infinispan.util.concurrent.IsolationLevel;
-import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
@Test(groups = "functional", testName = "api.mvcc.read_committed.CacheAPIMVCCTest")
Modified: branches/4.2.x/core/src/test/java/org/infinispan/config/parsing/MinimalConfigurationParsingTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/config/parsing/MinimalConfigurationParsingTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/config/parsing/MinimalConfigurationParsingTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,6 @@
package org.infinispan.config.parsing;
import org.infinispan.config.InfinispanConfiguration;
-import org.infinispan.test.TestingUtil;
import org.testng.annotations.Test;
import java.io.ByteArrayInputStream;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -18,12 +18,15 @@
import org.testng.annotations.Test;
import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
import static org.infinispan.test.TestingUtil.INFINISPAN_END_TAG;
import static org.infinispan.test.TestingUtil.INFINISPAN_START_TAG;
+import static org.infinispan.test.TestingUtil.INFINISPAN_START_TAG_40;
import static org.infinispan.test.TestingUtil.INFINISPAN_START_TAG_NO_SCHEMA;
@Test(groups = "unit", testName = "config.parsing.XmlFileParsingTest")
@@ -70,8 +73,40 @@
assert named != null;
assert named.isEmpty();
}
+
+ public void testBackwardCompatibleInputCacheConfiguration() throws Exception {
+
+ //read 4.0 configuration file against 4.1 schema
+ String config = INFINISPAN_START_TAG_40 +
+ " <global>\n" +
+ " <transport clusterName=\"demoCluster\"/>\n" +
+ " </global>\n" +
+ "\n" +
+ " <default>\n" +
+ " <clustering mode=\"replication\">\n" +
+ " </clustering>\n" +
+ " </default>\n" +
+ TestingUtil.INFINISPAN_END_TAG;
+ String schemaFileName = "schema/infinispan-config-" + Version.getMajorVersion() + ".xsd";
+
+ InputStream is = new ByteArrayInputStream(config.getBytes());
+ InfinispanConfiguration c = InfinispanConfiguration.newInfinispanConfiguration(is,
+ InfinispanConfiguration.findSchemaInputStream(schemaFileName));
+ GlobalConfiguration gc = c.parseGlobalConfiguration();
+
+ assert gc.getTransportClass().equals(JGroupsTransport.class.getName());
+ assert gc.getClusterName().equals("demoCluster");
+ Configuration def = c.parseDefaultConfiguration();
+ assert def.getCacheMode() == Configuration.CacheMode.REPL_SYNC;
+
+ Map<String, Configuration> named = c.parseNamedConfigurations();
+ assert named != null;
+ assert named.isEmpty();
+ }
+
+
public void testNoSchemaWithStuff() throws IOException {
String xml = INFINISPAN_START_TAG_NO_SCHEMA +
" <default>\n" +
Modified: branches/4.2.x/core/src/test/java/org/infinispan/context/MarshalledValueContextTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/context/MarshalledValueContextTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/context/MarshalledValueContextTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -4,16 +4,13 @@
import org.infinispan.config.Configuration;
import org.infinispan.context.InvocationContext;
import org.infinispan.context.InvocationContextContainer;
-import org.infinispan.context.InvocationContextContainerImpl;
import org.infinispan.context.impl.LocalTxInvocationContext;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.test.SingleCacheManagerTest;
import org.infinispan.test.TestingUtil;
import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
import org.infinispan.util.concurrent.locks.LockManager;
-import org.infinispan.util.concurrent.locks.containers.LockContainer;
import org.testng.annotations.Test;
import javax.transaction.TransactionManager;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -100,7 +100,7 @@
* This is a separate class because some tools try and run this method as a test
*/
public static class RehashWaiter {
- private static Log log = LogFactory.getLog(RehashWaiter.class);
+ private static final Log log = LogFactory.getLog(RehashWaiter.class);
public static void waitForInitRehashToComplete(Cache... caches) {
int gracetime = 60000; // 60 seconds?
long giveup = System.currentTimeMillis() + gracetime;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/distribution/HashFunctionComparisonTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/distribution/HashFunctionComparisonTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/distribution/HashFunctionComparisonTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,9 +1,7 @@
package org.infinispan.distribution;
import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
-import org.infinispan.profiling.testinternals.Generator;
import org.infinispan.remoting.transport.Address;
-import org.infinispan.util.Util;
import org.infinispan.util.hash.MurmurHash2;
import org.testng.annotations.Test;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/distribution/SyncDistImplicitLockingTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/distribution/SyncDistImplicitLockingTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/distribution/SyncDistImplicitLockingTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,24 +21,11 @@
*/
package org.infinispan.distribution;
-import org.infinispan.Cache;
import org.infinispan.config.Configuration;
import org.infinispan.replication.SyncReplImplicitLockingTest;
-import org.infinispan.test.MultipleCacheManagersTest;
-import org.infinispan.test.TestingUtil;
-import org.infinispan.util.concurrent.locks.LockManager;
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertNull;
-
import org.testng.annotations.Test;
-import javax.transaction.TransactionManager;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
/**
* Tests for implicit locking
* <p/>
Modified: branches/4.2.x/core/src/test/java/org/infinispan/eviction/EvictionManagerTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/eviction/EvictionManagerTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/eviction/EvictionManagerTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,18 +2,10 @@
import static org.easymock.EasyMock.*;
-import org.easymock.EasyMock;
-import org.easymock.IAnswer;
-import org.infinispan.AdvancedCache;
-import org.infinispan.Cache;
import org.infinispan.config.Configuration;
-import org.infinispan.container.DataContainer;
-import org.infinispan.container.entries.InternalEntryFactory;
-import org.infinispan.context.Flag;
import org.infinispan.test.AbstractInfinispanTest;
import org.testng.annotations.Test;
-import java.util.Iterator;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/invalidation/BaseInvalidationTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/invalidation/BaseInvalidationTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/invalidation/BaseInvalidationTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -149,29 +149,18 @@
replListener(cache2).expect(InvalidateCommand.class);
mgr1.commit();
if (isSync) {
- fail("Ought to have failed!");
+ assert false: "isSync should be false";
} else {
- assert true : "Ought to have succeeded";
replListener(cache2).waitForRpc();
}
+ } catch (RollbackException roll) {
+ assert isSync : "isSync should be true";
}
- catch (RollbackException roll) {
- if (isSync)
- assertTrue("Ought to have failed!", true);
- else
- fail("Ought to have succeeded!");
- }
mgr2.resume(tx2);
- try {
- replListener(cache1).expect(InvalidateCommand.class);
- mgr2.commit();
- if (!isSync) replListener(cache1).waitForRpc();
- assertTrue("Ought to have succeeded!", true);
- }
- catch (RollbackException roll) {
- fail("Ought to have succeeded!");
- }
+ replListener(cache1).expect(InvalidateCommand.class);
+ mgr2.commit();
+ if (!isSync) replListener(cache1).waitForRpc();
LockManager lm1 = TestingUtil.extractComponent(cache1, LockManager.class);
LockManager lm2 = TestingUtil.extractComponent(cache2, LockManager.class);
Modified: branches/4.2.x/core/src/test/java/org/infinispan/jmx/RpcManagerMBeanTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/jmx/RpcManagerMBeanTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/jmx/RpcManagerMBeanTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -17,7 +17,6 @@
import org.infinispan.test.TestingUtil;
import org.infinispan.test.fwk.TestCacheManagerFactory;
-import static org.easymock.EasyMock.expect;
import static org.testng.Assert.assertEquals;
import org.testng.annotations.Test;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/loaders/FlushingAsyncStoreTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/loaders/FlushingAsyncStoreTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/loaders/FlushingAsyncStoreTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,18 +3,15 @@
import java.io.IOException;
import java.sql.SQLException;
-import org.apache.commons.math.stat.inference.TestUtils;
import org.infinispan.config.CacheLoaderManagerConfig;
import org.infinispan.config.Configuration;
import org.infinispan.container.entries.InternalCacheEntry;
import org.infinispan.loaders.decorators.AsyncStoreConfig;
import org.infinispan.loaders.dummy.DummyInMemoryCacheStore;
-import org.infinispan.loaders.file.FileCacheStoreConfig;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.test.SingleCacheManagerTest;
import org.infinispan.test.TestingUtil;
import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
/**
@@ -46,7 +43,7 @@
return TestCacheManagerFactory.createCacheManager(config);
}
- @Test (timeOut = 10000)
+ @Test(timeOut = 10000)
public void writeOnStorage() throws IOException, ClassNotFoundException, SQLException, InterruptedException {
cache = cacheManager.getCache("AsyncStoreInMemory");
cache.put("key1", "value");
@@ -61,11 +58,6 @@
assert "value".equals(cache.get("key1"));
}
- @AfterClass
- public void removeStore(){
- TestUtils a;
- }
-
public static class SlowCacheStoreConfig extends DummyInMemoryCacheStore.Cfg {
public SlowCacheStoreConfig() {
setCacheLoaderClassName(SlowCacheStore.class.getName());
Modified: branches/4.2.x/core/src/test/java/org/infinispan/loaders/UnnnecessaryLoadingTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/loaders/UnnnecessaryLoadingTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/loaders/UnnnecessaryLoadingTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -45,6 +45,7 @@
return cm;
}
+ @Test
public void testRepeatedLoads() throws CacheLoaderException {
CacheLoaderManager clm = TestingUtil.extractComponent(cache, CacheLoaderManager.class);
ChainingCacheStore ccs = (ChainingCacheStore) clm.getCacheLoader();
@@ -66,6 +67,7 @@
assert countingCS.numContains == 0 : "Expected 0, was " + countingCS.numContains;
}
+ @Test
public void testSkipCacheFlagUsage() throws CacheLoaderException {
CacheLoaderManager clm = TestingUtil.extractComponent(cache, CacheLoaderManager.class);
ChainingCacheStore ccs = (ChainingCacheStore) clm.getCacheLoader();
Modified: branches/4.2.x/core/src/test/java/org/infinispan/loaders/decorators/AsyncTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/loaders/decorators/AsyncTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/loaders/decorators/AsyncTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -8,7 +8,6 @@
import org.infinispan.loaders.dummy.DummyInMemoryCacheStore;
import org.infinispan.loaders.modifications.Clear;
import org.infinispan.loaders.modifications.Modification;
-import org.infinispan.loaders.modifications.Prepare;
import org.infinispan.loaders.modifications.Remove;
import org.infinispan.loaders.modifications.Store;
import org.infinispan.test.AbstractInfinispanTest;
@@ -37,7 +36,7 @@
import static org.infinispan.test.TestingUtil.k;
import static org.infinispan.test.TestingUtil.v;
- at Test(groups = "unit", testName = "loaders.decorators.AsyncTest")
+ at Test(groups = "unit", testName = "loaders.decorators.AsyncTest", sequential=true)
public class AsyncTest extends AbstractInfinispanTest {
private static final Log log = LogFactory.getLog(AsyncTest.class);
AsyncStore store;
@@ -52,7 +51,7 @@
asyncConfig = new AsyncStoreConfig();
asyncConfig.setThreadPoolSize(10);
store = new AsyncStore(underlying, asyncConfig);
- dummyCfg = new DummyInMemoryCacheStore.Cfg();
+ dummyCfg = new DummyInMemoryCacheStore.Cfg("AsyncStoreTests",false);
dummyCfg.setStore(AsyncTest.class.getName());
store.init(dummyCfg, null, null);
store.start();
@@ -64,6 +63,7 @@
if (store != null) store.stop();
}
+ @Test(timeOut=10000)
public void testPutRemove() throws Exception {
final int number = 1000;
String key = "testPutRemove-k-";
@@ -72,6 +72,7 @@
doTestRemove(number, key);
}
+ @Test(timeOut=10000)
public void testPutClearPut() throws Exception {
final int number = 1000;
String key = "testPutClearPut-k-";
@@ -80,10 +81,10 @@
doTestClear(number, key);
value = "testPutClearPut-v[2]-";
doTestPut(number, key, value);
-
doTestRemove(number, key);
}
+ @Test(timeOut=10000)
public void testMultiplePutsOnSameKey() throws Exception {
final int number = 1000;
String key = "testMultiplePutsOnSameKey-k";
@@ -92,6 +93,7 @@
doTestSameKeyRemove(key);
}
+ @Test(timeOut=10000)
public void testRestrictionOnAddingToAsyncQueue() throws Exception {
store.remove("blah");
@@ -174,10 +176,8 @@
mods.add(new Remove(k1));
GlobalTransaction tx = gtf.newGlobalTransaction(null, false);
store.prepare(mods, tx, false);
- barrier.await(5, TimeUnit.SECONDS);
- assert 1 == localMods.size();
- assert localMods.entrySet().iterator().next().getKey() instanceof Prepare;
+ assert 0 == localMods.size();
assert !store.containsKey(k1);
assert !store.containsKey(k2);
@@ -185,6 +185,8 @@
barrier.await(5, TimeUnit.SECONDS);
assert store.load(k2).getValue().equals(v2);
assert !store.containsKey(k1);
+ assert 2 == localMods.size();
+ assert new Remove(k1).equals(localMods.get(k1));
} finally {
store.delegate.clear();
store.stop();
@@ -246,12 +248,12 @@
mods.add(new Remove(k1));
GlobalTransaction tx = gtf.newGlobalTransaction(null, false);
store.prepare(mods, tx, false);
- barrier.await(5, TimeUnit.SECONDS);
+ Thread.sleep(200); //verify that work is not performed until commit
assert 0 == storeCount.get();
assert 0 == removeCount.get();
assert 0 == clearCount.get();
store.commit(tx);
- barrier.await(5, TimeUnit.SECONDS);
+ barrier.await(5, TimeUnit.SECONDS); //modifications applied all at once
assert 1 == storeCount.get() : "Store count was " + storeCount.get();
assert 1 == removeCount.get();
assert 0 == clearCount.get();
@@ -267,14 +269,14 @@
mods.add(new Remove(k2));
tx = gtf.newGlobalTransaction(null, false);
store.prepare(mods, tx, false);
- barrier.await(5, TimeUnit.SECONDS);
+ Thread.sleep(200); //verify that work is not performed until commit
assert 0 == storeCount.get();
assert 0 == removeCount.get();
assert 0 == clearCount.get();
store.commit(tx);
barrier.await(5, TimeUnit.SECONDS);
assert 0 == storeCount.get() : "Store count was " + storeCount.get();
- assert 0 == removeCount.get();
+ assert 1 == removeCount.get();
assert 1 == clearCount.get();
storeCount.set(0);
@@ -288,7 +290,7 @@
mods.add(new Store(InternalEntryFactory.create(k3, v3)));
tx = gtf.newGlobalTransaction(null, false);
store.prepare(mods, tx, false);
- barrier.await(5, TimeUnit.SECONDS);
+ Thread.sleep(200);
assert 0 == storeCount.get();
assert 0 == removeCount.get();
assert 0 == clearCount.get();
@@ -306,14 +308,14 @@
mods.add(new Remove(k1));
tx = gtf.newGlobalTransaction(null, false);
store.prepare(mods, tx, false);
- barrier.await(5, TimeUnit.SECONDS);
+ Thread.sleep(200);
assert 0 == storeCount.get();
assert 0 == removeCount.get();
assert 0 == clearCount.get();
store.commit(tx);
barrier.await(5, TimeUnit.SECONDS);
assert 0 == storeCount.get() : "Store count was " + storeCount.get();
- assert 0 == removeCount.get();
+ assert 1 == removeCount.get();
assert 1 == clearCount.get();
storeCount.set(0);
@@ -324,7 +326,7 @@
mods.add(new Store(InternalEntryFactory.create(k1, v1)));
tx = gtf.newGlobalTransaction(null, false);
store.prepare(mods, tx, false);
- barrier.await(5, TimeUnit.SECONDS);
+ Thread.sleep(200);
assert 0 == storeCount.get();
assert 0 == removeCount.get();
assert 0 == clearCount.get();
@@ -341,9 +343,13 @@
}
private void doTestPut(int number, String key, String value) throws Exception {
- for (int i = 0; i < number; i++) store.store(InternalEntryFactory.create(key + i, value + i));
+ for (int i = 0; i < number; i++) {
+ InternalCacheEntry cacheEntry = InternalEntryFactory.create(key + i, value + i);
+ store.store(cacheEntry);
+ }
- TestingUtil.sleepRandom(1000);
+ store.stop();
+ store.start();
InternalCacheEntry[] entries = new InternalCacheEntry[number];
for (int i = 0; i < number; i++) {
@@ -360,7 +366,7 @@
if (entry != null) {
assert entry.getValue().equals(value + i);
} else {
- TestingUtil.sleepRandom(1000);
+ TestingUtil.sleepThread(20, "still waiting for key to appear: " + key + i);
}
}
}
@@ -368,14 +374,16 @@
}
private void doTestSameKeyPut(int number, String key, String value) throws Exception {
- for (int i = 0; i < number; i++)
+ for (int i = 0; i < number; i++) {
store.store(InternalEntryFactory.create(key, value + i));
+ }
- TestingUtil.sleepThread(5000);
+ store.stop();
+ store.start();
InternalCacheEntry entry;
boolean success = false;
for (int i = 0; i < 120; i++) {
- TestingUtil.sleepRandom(1000);
+ TestingUtil.sleepThread(20);
entry = store.load(key);
success = entry.getValue().equals(value + (number - 1));
if (success) break;
@@ -386,7 +394,8 @@
private void doTestRemove(int number, String key) throws Exception {
for (int i = 0; i < number; i++) store.remove(key + i);
- TestingUtil.sleepRandom(1000);
+ store.stop();//makes sure the store is flushed
+ store.start();
InternalCacheEntry[] entries = new InternalCacheEntry[number];
for (int i = 0; i < number; i++) {
@@ -396,8 +405,7 @@
for (int i = 0; i < number; i++) {
InternalCacheEntry entry = entries[i];
while (entry != null) {
- log.info("Entry still not null {0}", entry);
- TestingUtil.sleepRandom(1000);
+ TestingUtil.sleepThread(20, "still waiting for key to be removed: " + key + i);
entry = store.load(key + i);
}
}
@@ -407,14 +415,15 @@
store.remove(key);
InternalCacheEntry entry;
do {
- TestingUtil.sleepRandom(1000);
+ TestingUtil.sleepThread(20, "still waiting for key to be removed: " + key);
entry = store.load(key);
} while (entry != null);
}
private void doTestClear(int number, String key) throws Exception {
store.clear();
- TestingUtil.sleepRandom(1000);
+ store.stop();
+ store.start();
InternalCacheEntry[] entries = new InternalCacheEntry[number];
for (int i = 0; i < number; i++) {
@@ -424,8 +433,7 @@
for (int i = 0; i < number; i++) {
InternalCacheEntry entry = entries[i];
while (entry != null) {
- log.info("Entry still not null {0}", entry);
- TestingUtil.sleepRandom(1000);
+ TestingUtil.sleepThread(20, "still waiting for key to be removed: " + key + i);
entry = store.load(key + i);
}
}
Copied: branches/4.2.x/core/src/test/java/org/infinispan/loaders/decorators/BatchAsyncCacheStoreTest.java (from rev 2323, branches/4.1.x/core/src/test/java/org/infinispan/loaders/decorators/BatchAsyncCacheStoreTest.java)
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/loaders/decorators/BatchAsyncCacheStoreTest.java (rev 0)
+++ branches/4.2.x/core/src/test/java/org/infinispan/loaders/decorators/BatchAsyncCacheStoreTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -0,0 +1,142 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.infinispan.loaders.decorators;
+
+import java.io.File;
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.HashMap;
+
+import org.infinispan.AdvancedCache;
+import org.infinispan.config.CacheLoaderManagerConfig;
+import org.infinispan.config.Configuration;
+import org.infinispan.loaders.CacheStoreConfig;
+import org.infinispan.loaders.decorators.AsyncStoreConfig;
+import org.infinispan.loaders.file.FileCacheStoreConfig;
+import org.infinispan.manager.EmbeddedCacheManager;
+import org.infinispan.test.SingleCacheManagerTest;
+import org.infinispan.test.TestingUtil;
+import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+/**
+ * BatchAsyncCacheStoreTest performs some additional tests on the AsyncStore
+ * but using batches.
+ *
+ * @author Sanne Grinovero
+ * @since 4.1
+ */
+ at Test(groups = "functional", testName = "loaders.AsyncCacheStoreTest")
+public class BatchAsyncCacheStoreTest extends SingleCacheManagerTest {
+
+ private final HashMap cacheCopy = new HashMap();
+
+ public BatchAsyncCacheStoreTest() {
+ cleanup = CleanupPhase.AFTER_METHOD;
+ }
+
+ @Override
+ protected EmbeddedCacheManager createCacheManager() throws Exception {
+ Configuration configuration = new Configuration();
+ configuration.setCacheMode(Configuration.CacheMode.LOCAL);
+ configuration.setInvocationBatchingEnabled(true);
+ enableTestJdbcStorage(configuration);
+ return TestCacheManagerFactory.createCacheManager(configuration);
+ }
+
+ private void enableTestJdbcStorage(Configuration configuration) throws Exception {
+ CacheStoreConfig fileStoreConfiguration = createCacheStoreConfig();
+ AsyncStoreConfig asyncStoreConfig = new AsyncStoreConfig();
+ asyncStoreConfig.setEnabled(true);
+ asyncStoreConfig.setThreadPoolSize(1);
+ fileStoreConfiguration.setAsyncStoreConfig(asyncStoreConfig);
+ CacheLoaderManagerConfig loaderManagerConfig = configuration.getCacheLoaderManagerConfig();
+ loaderManagerConfig.setPassivation(false);
+ loaderManagerConfig.setPreload(false);
+ loaderManagerConfig.setShared(true);
+ loaderManagerConfig.addCacheLoaderConfig(fileStoreConfiguration);
+ }
+
+ @Test
+ public void sequantialOvewritingInBatches() throws IOException, ClassNotFoundException, SQLException, InterruptedException {
+ cache = cacheManager.getCache();
+ AdvancedCache<Object,Object> advancedCache = cache.getAdvancedCache();
+ for (int i = 0; i < 2000;) {
+ advancedCache.startBatch();
+ putAValue(advancedCache, i++);
+ putAValue(advancedCache, i++);
+ advancedCache.endBatch(true);
+ }
+ cacheCopy.putAll(cache);
+ cache.stop();
+ cacheManager.stop();
+ }
+
+ private void putAValue(AdvancedCache<Object, Object> advancedCache, int i) {
+ String key = "k" + (i % 13);
+ String value = "V" + i;
+ advancedCache.put(key, value);
+ }
+
+ @Test(dependsOnMethods = "sequantialOvewritingInBatches")
+ public void indexWasStored() throws IOException {
+ cache = cacheManager.getCache();
+ assert cache.isEmpty();
+ boolean failed = false;
+ for (Object key : cacheCopy.keySet()) {
+ Object expected = cacheCopy.get(key);
+ Object actual = cache.get(key);
+ if (!expected.equals(actual)) {
+ System.out.println("Failure on key '" + key.toString() + "' expected value: '" + expected + "' actual value: '" + actual + "'");
+ failed = true;
+ }
+ }
+ Assert.assertFalse(failed);
+ Assert.assertEquals(cacheCopy.keySet().size(), cache.keySet().size(), "have a different number of keys");
+ }
+
+ private String tmpDirectory;
+
+ @BeforeClass
+ @Parameters( { "basedir" })
+ protected void setUpTempDir(@Optional(value = "/tmp") String basedir) {
+ tmpDirectory = TestingUtil.tmpDirectory(basedir, this);
+ new File(tmpDirectory).mkdirs();
+ }
+
+ @AfterClass
+ protected void clearTempDir() {
+ TestingUtil.recursiveFileRemove(tmpDirectory);
+ }
+
+ protected CacheStoreConfig createCacheStoreConfig() throws Exception {
+ FileCacheStoreConfig cfg = new FileCacheStoreConfig();
+ cfg.setLocation(tmpDirectory);
+ return cfg;
+ }
+
+}
Modified: branches/4.2.x/core/src/test/java/org/infinispan/loaders/dummy/DummyInMemoryCacheStoreFunctionalTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/loaders/dummy/DummyInMemoryCacheStoreFunctionalTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/loaders/dummy/DummyInMemoryCacheStoreFunctionalTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -2,15 +2,9 @@
import org.infinispan.loaders.BaseCacheStoreFunctionalTest;
import org.infinispan.loaders.CacheStoreConfig;
-import org.infinispan.loaders.file.FileCacheStoreConfig;
-import org.infinispan.test.TestingUtil;
import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
-import java.io.File;
-
@Test(groups = "unit", testName = "loaders.dummy.DummyInMemoryCacheStoreFunctionalTest")
public class DummyInMemoryCacheStoreFunctionalTest extends BaseCacheStoreFunctionalTest {
Modified: branches/4.2.x/core/src/test/java/org/infinispan/lock/EagerLockingDisabledTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/lock/EagerLockingDisabledTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/lock/EagerLockingDisabledTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,7 +1,6 @@
package org.infinispan.lock;
import org.infinispan.Cache;
-import org.infinispan.CacheException;
import org.infinispan.config.Configuration;
import org.infinispan.config.ConfigurationException;
import org.infinispan.manager.EmbeddedCacheManager;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/profiling/DeadlockDetectionPerformanceTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/profiling/DeadlockDetectionPerformanceTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/profiling/DeadlockDetectionPerformanceTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -45,7 +45,7 @@
@Test(groups = "profiling", enabled = true, testName = "profiling.DeadlockDetectionPerformanceTest")
public class DeadlockDetectionPerformanceTest extends AbstractInfinispanTest {
- private static Log log = LogFactory.getLog(DeadlockDetectionPerformanceTest.class);
+ private static final Log log = LogFactory.getLog(DeadlockDetectionPerformanceTest.class);
public static final int KEY_POOL_SIZE = 10;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/replication/SyncCacheListenerTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/replication/SyncCacheListenerTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/replication/SyncCacheListenerTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -10,7 +10,6 @@
import org.infinispan.Cache;
import org.infinispan.CacheException;
import org.infinispan.config.Configuration;
-import org.infinispan.distribution.ConsistentHash;
import org.infinispan.notifications.Listener;
import org.infinispan.notifications.cachelistener.annotation.CacheEntryModified;
import org.infinispan.notifications.cachelistener.annotation.CacheEntryRemoved;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/replication/SyncReplTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/replication/SyncReplTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/replication/SyncReplTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -11,7 +11,6 @@
import org.infinispan.CacheException;
import org.infinispan.commands.remote.CacheRpcCommand;
import org.infinispan.config.Configuration;
-import org.infinispan.manager.NamedCacheNotFoundException;
import org.infinispan.remoting.rpc.ResponseFilter;
import org.infinispan.remoting.rpc.ResponseMode;
import org.infinispan.remoting.rpc.RpcManager;
Modified: branches/4.2.x/core/src/test/java/org/infinispan/statetransfer/StateTransferFileCacheLoaderFunctionalTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/statetransfer/StateTransferFileCacheLoaderFunctionalTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/statetransfer/StateTransferFileCacheLoaderFunctionalTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -73,10 +73,10 @@
@BeforeTest
@Parameters({"basedir"})
protected void setUpTempDir(@Optional(value = "/tmp") String basedir) {
- tmpDirectory1 = basedir + TestingUtil.TEST_PATH + File.separator + "1" + File.separator + getClass().getSimpleName();
- tmpDirectory2 = basedir + TestingUtil.TEST_PATH + File.separator + "2" + File.separator + getClass().getSimpleName();
- tmpDirectory3 = basedir + TestingUtil.TEST_PATH + File.separator + "3" + File.separator + getClass().getSimpleName();
- tmpDirectory4 = basedir + TestingUtil.TEST_PATH + File.separator + "4" + File.separator + getClass().getSimpleName();
+ tmpDirectory1 = basedir + File.separator + TestingUtil.TEST_PATH + File.separator + "1" + File.separator + getClass().getSimpleName();
+ tmpDirectory2 = basedir + File.separator + TestingUtil.TEST_PATH + File.separator + "2" + File.separator + getClass().getSimpleName();
+ tmpDirectory3 = basedir + File.separator + TestingUtil.TEST_PATH + File.separator + "3" + File.separator + getClass().getSimpleName();
+ tmpDirectory4 = basedir + File.separator + TestingUtil.TEST_PATH + File.separator + "4" + File.separator + getClass().getSimpleName();
}
@AfterMethod(alwaysRun = true)
Modified: branches/4.2.x/core/src/test/java/org/infinispan/statetransfer/StateTransferReplicationQueueTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/statetransfer/StateTransferReplicationQueueTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/statetransfer/StateTransferReplicationQueueTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -6,7 +6,6 @@
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.test.MultipleCacheManagersTest;
import org.infinispan.test.TestingUtil;
-import org.infinispan.statetransfer.StateTransferFunctionalTest.*;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
import org.testng.annotations.Test;
@@ -18,13 +17,11 @@
import java.io.ObjectOutput;
import java.lang.reflect.Method;
import java.util.Properties;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
/**
- * State transfer and replication queue test veryfying that the interaction between them two works in fine.
+ * State transfer and replication queue test verifying that the interaction between them two works in fine.
*
* @author Galder Zamarreño
* @since 4.1
Modified: branches/4.2.x/core/src/test/java/org/infinispan/test/AbstractInfinispanTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/test/AbstractInfinispanTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/test/AbstractInfinispanTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -24,7 +24,6 @@
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
-import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterTest;
/**
Modified: branches/4.2.x/core/src/test/java/org/infinispan/test/PerCacheExecutorThread.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/test/PerCacheExecutorThread.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/test/PerCacheExecutorThread.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -18,7 +18,7 @@
*/
public final class PerCacheExecutorThread extends Thread {
- private static Log log = LogFactory.getLog(PerCacheExecutorThread.class);
+ private static final Log log = LogFactory.getLog(PerCacheExecutorThread.class);
private Cache<Object, Object> cache;
private BlockingQueue<Object> toExecute = new ArrayBlockingQueue<Object>(1);
Modified: branches/4.2.x/core/src/test/java/org/infinispan/test/TestingUtil.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/test/TestingUtil.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/test/TestingUtil.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -64,8 +64,12 @@
public static final String TEST_PATH = "target" + separator + "tempFiles";
public static final String INFINISPAN_START_TAG = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<infinispan\n" +
" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
- " xsi:schemaLocation=\"urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd\"\n" +
- " xmlns=\"urn:infinispan:config:4.0\">";
+ " xsi:schemaLocation=\"urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd\"\n" +
+ " xmlns=\"urn:infinispan:config:4.1\">";
+ public static final String INFINISPAN_START_TAG_40 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<infinispan\n" +
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
+ " xsi:schemaLocation=\"urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd\"\n" +
+ " xmlns=\"urn:infinispan:config:4.0\">";
public static final String INFINISPAN_END_TAG="</infinispan>";
public static final String INFINISPAN_START_TAG_NO_SCHEMA="<infinispan>";
@@ -370,10 +374,16 @@
* @param sleeptime number of ms to sleep
*/
public static void sleepThread(long sleeptime) {
+ sleepThread(sleeptime, null);
+ }
+
+ public static void sleepThread(long sleeptime, String messageOnInterrupt) {
try {
Thread.sleep(sleeptime);
}
catch (InterruptedException ie) {
+ if (messageOnInterrupt != null)
+ log.error(messageOnInterrupt);
}
}
Modified: branches/4.2.x/core/src/test/java/org/infinispan/test/fwk/SuiteResourcesAndLogTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/test/fwk/SuiteResourcesAndLogTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/test/fwk/SuiteResourcesAndLogTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -15,7 +15,7 @@
@Test(groups = "functional", testName = "test.testng.SuiteResourcesAndLogTest", alwaysRun=true)
public class SuiteResourcesAndLogTest {
- private static Log log = LogFactory.getLog(SuiteResourcesAndLogTest.class);
+ private static final Log log = LogFactory.getLog(SuiteResourcesAndLogTest.class);
@BeforeSuite
@AfterSuite
Modified: branches/4.2.x/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -33,7 +33,7 @@
private static AtomicInteger jmxDomainPostfix = new AtomicInteger();
public static final String MARSHALLER = LegacyKeySupportSystemProperties.getProperty("infinispan.test.marshaller.class", "infinispan.marshaller.class");
- private static Log log = LogFactory.getLog(TestCacheManagerFactory.class);
+ private static final Log log = LogFactory.getLog(TestCacheManagerFactory.class);
private static ThreadLocal<PerThreadCacheManagers> perThreadCacheManagers = new ThreadLocal<PerThreadCacheManagers>() {
@Override
@@ -156,6 +156,14 @@
return newDefaultCacheManager(configuration, new Configuration(), enforceJmxDomain);
}
+ public static EmbeddedCacheManager createCacheManager(Configuration.CacheMode mode, boolean indexing) {
+ GlobalConfiguration gc = mode.isClustered() ? GlobalConfiguration.getClusteredDefault() : GlobalConfiguration.getNonClusteredDefault();
+ Configuration c = new Configuration();
+ if (indexing) c.setIndexingEnabled(true);
+ c.setCacheMode(mode);
+ return createCacheManager(gc, c);
+ }
+
/**
* Creates a local cache manager and amends so that it won't conflict (e.g. jmx) with other managers whilst running
* tests in parallel. This is a non-transactional cache manager.
Modified: branches/4.2.x/core/src/test/java/org/infinispan/tx/LargeTransactionTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/tx/LargeTransactionTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/tx/LargeTransactionTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -19,7 +19,7 @@
*/
@Test(testName = "tx.LargeTransactionTest", groups = "functional")
public class LargeTransactionTest extends MultipleCacheManagersTest {
- private static Log log = LogFactory.getLog(LargeTransactionTest.class);
+ private static final Log log = LogFactory.getLog(LargeTransactionTest.class);
protected void createCacheManagers() throws Throwable {
Modified: branches/4.2.x/core/src/test/java/org/infinispan/tx/TransactionManagerLookupTest.java
===================================================================
--- branches/4.2.x/core/src/test/java/org/infinispan/tx/TransactionManagerLookupTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/java/org/infinispan/tx/TransactionManagerLookupTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -4,7 +4,6 @@
import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
import org.infinispan.transaction.lookup.GenericTransactionManagerLookup;
import org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup;
-import org.infinispan.transaction.lookup.JBossTransactionManagerLookup;
import org.infinispan.transaction.lookup.TransactionManagerLookup;
import org.testng.annotations.Test;
Modified: branches/4.2.x/core/src/test/resources/configs/named-cache-test.xml
===================================================================
--- branches/4.2.x/core/src/test/resources/configs/named-cache-test.xml 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/resources/configs/named-cache-test.xml 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<global>
Modified: branches/4.2.x/core/src/test/resources/configs/no-flush.xml
===================================================================
--- branches/4.2.x/core/src/test/resources/configs/no-flush.xml 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/resources/configs/no-flush.xml 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<!-- *************************** -->
<!-- System-wide global settings -->
Modified: branches/4.2.x/core/src/test/resources/configs/string-property-replaced.xml
===================================================================
--- branches/4.2.x/core/src/test/resources/configs/string-property-replaced.xml 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/resources/configs/string-property-replaced.xml 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<!-- *************************** -->
<!-- System-wide global settings -->
Modified: branches/4.2.x/core/src/test/resources/log4j.xml
===================================================================
--- branches/4.2.x/core/src/test/resources/log4j.xml 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/core/src/test/resources/log4j.xml 2010-09-05 12:05:39 UTC (rev 2324)
@@ -45,7 +45,7 @@
<!-- ================ -->
<category name="org.infinispan">
- <priority value="INFO"/>
+ <priority value="TRACE"/>
</category>
<category name="org.infinispan.profiling">
@@ -65,7 +65,7 @@
<!-- ======================= -->
<root>
- <priority value="TRACE"/>
+ <priority value="INFO"/>
<!--<appender-ref ref="CONSOLE"/>-->
<appender-ref ref="FILE"/>
</root>
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/CacheBuilder.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/CacheBuilder.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/CacheBuilder.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo;
import java.io.IOException;
@@ -8,15 +5,12 @@
import org.infinispan.manager.CacheContainer;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
-import org.infinispan.util.logging.Log;
-import org.infinispan.util.logging.LogFactory;
/**
* @author noconnor at redhat.com
*/
public class CacheBuilder {
private EmbeddedCacheManager cache_manager;
- private static final Log myLogger = LogFactory.getLog(CacheBuilder.class);
public CacheBuilder(String inConfigFile) throws IOException {
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfinispanFluDemo.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfinispanFluDemo.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfinispanFluDemo.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -14,12 +14,7 @@
import java.io.InputStreamReader;
/**
- *
- */
-
-/**
* @author noconnor at redhat.com
- *
*/
public class InfinispanFluDemo {
@@ -78,7 +73,7 @@
} else {
try {
- Thread.currentThread().sleep(2000);
+ Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfluenzaDataLoader.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfluenzaDataLoader.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfluenzaDataLoader.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo;
import com.martiansoftware.jsap.JSAPResult;
@@ -28,7 +25,7 @@
private Nucleotide_Protein_Parser npParser;
private Influenza_Parser iParser;
- private static final Log myLogger = LogFactory.getLog(InfluenzaDataLoader.class);
+ private static final Log log = LogFactory.getLog(InfluenzaDataLoader.class);
public void createCache(String configFile) throws IOException {
String cfgFileName = LegacyKeySupportSystemProperties.getProperty("infinispan.configuration", "infinispan.demo.cfg");
@@ -65,7 +62,7 @@
System.out.println("Parsing files....");
if (config.getString("ifile") != null) {
- myLogger.info("Parsing Influenza data");
+ log.info("Parsing Influenza data");
List<Influenza_N_P_CR_Element> iList = iParser.parseFile(config.getString("ifile"));
boolean rQuery = config.getBoolean("randomquery");
@@ -81,7 +78,7 @@
this.searchCache(curreElem.getGanNucleoid());
try {
- Thread.currentThread().sleep(1000);
+ Thread.sleep(1000);
} catch (InterruptedException ex) {
// do nothing, yea I know its naughty...
}
@@ -110,7 +107,7 @@
}
if (config.getString("pfile") != null) {
- myLogger.info("Parsing Protein data");
+ log.info("Parsing Protein data");
List<Nucleotide_Protein_Element> npList = npParser.parseFile(config.getString("pfile"));
System.out.println("About to load " + npList.size() + " protein elements into ProteinCache");
int loopCount = 0;
@@ -133,7 +130,7 @@
}
if (config.getString("nfile") != null) {
- myLogger.info("Parsing Nucleotide data");
+ log.info("Parsing Nucleotide data");
List<Nucleotide_Protein_Element> npList = npParser.parseFile(config.getString("nfile"));
System.out.println("About to load " + npList.size() + " nucleotide elements into NucleiodCache");
int loopCount = 0;
@@ -162,14 +159,14 @@
}
public void searchCache(String inGBAN) {
- myLogger.trace("Searching influenzaCache for " + inGBAN);
+ log.trace("Searching influenzaCache for " + inGBAN);
// Find the virus details
Influenza_N_P_CR_Element myRec = influenzaCache.get(inGBAN);
if (myRec != null) {
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
System.out.println("Virus Details->" + myRec);
- myLogger.trace("Searching nucleiodCache for " + myRec.getGanNucleoid());
+ log.trace("Searching nucleiodCache for " + myRec.getGanNucleoid());
Nucleotide_Protein_Element nucldet = nucleiodCache.get(myRec.getGanNucleoid());
System.out.println("Nucleotide details->" + nucldet);
@@ -177,7 +174,7 @@
Map<String, String> myProt = myRec.getProtein_Data();
for (String x : myProt.keySet()) {
System.out.println("=========================================================================");
- myLogger.trace("Searching proteinCache for " + x);
+ log.trace("Searching proteinCache for " + x);
Nucleotide_Protein_Element myProtdet = proteinCache.get(x);
System.out.println("Protein->" + myProtdet);
String protein_CR = myProt.get(x);
@@ -185,7 +182,7 @@
}
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
} else {
- myLogger.trace("No virus data found for " + inGBAN);
+ log.trace("No virus data found for " + inGBAN);
System.out.println("No virus data found for " + inGBAN);
}
}
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfluenzaVirusCache.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfluenzaVirusCache.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/InfluenzaVirusCache.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo;
import org.infinispan.Cache;
@@ -14,7 +11,7 @@
*
*/
public class InfluenzaVirusCache {
- private static final Log myLogger = LogFactory.getLog(InfluenzaVirusCache.class);
+ private static final Log log = LogFactory.getLog(InfluenzaVirusCache.class);
private Cache<String, Influenza_N_P_CR_Element> myCache;
public InfluenzaVirusCache(CacheBuilder cacheManger) throws IOException {
@@ -26,7 +23,7 @@
return;
String myKey = value.getGanNucleoid();
if ((myKey == null) || (myKey.isEmpty())) {
- myLogger.error("Invalid record " + value);
+ log.error("Invalid record " + value);
} else {
myCache.put(myKey, value);
}
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Influenza_N_P_CR_Element.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Influenza_N_P_CR_Element.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Influenza_N_P_CR_Element.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo;
import java.io.Serializable;
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Influenza_Parser.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Influenza_Parser.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Influenza_Parser.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo;
import java.io.File;
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/NucleotideCache.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/NucleotideCache.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/NucleotideCache.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo;
import java.io.IOException;
@@ -12,7 +9,7 @@
*
*/
public class NucleotideCache {
- Logger myLogger = Logger.getLogger(NucleotideCache.class);
+ private static final Logger log = Logger.getLogger(NucleotideCache.class);
private Cache<String, Nucleotide_Protein_Element> myCache;
public NucleotideCache(CacheBuilder cacheManger) throws IOException {
@@ -24,7 +21,7 @@
return;
String myKey = value.getGenbankAccessionNumber();
if ((myKey == null) || (myKey.isEmpty())) {
- myLogger.error("Invalid record " + value);
+ log.error("Invalid record " + value);
} else {
myCache.put(value.getGenbankAccessionNumber(), value);
}
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Nucleotide_Protein_Element.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Nucleotide_Protein_Element.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Nucleotide_Protein_Element.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo;
import java.io.Serializable;
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Nucleotide_Protein_Parser.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Nucleotide_Protein_Parser.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/Nucleotide_Protein_Parser.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -10,18 +10,10 @@
import java.util.List;
/**
- *
- */
-
-/**
* @author noconnor at redhat.com
*/
public class Nucleotide_Protein_Parser {
- public Nucleotide_Protein_Parser() {
-
- }
-
@SuppressWarnings("unchecked")
public List<Nucleotide_Protein_Element> parseFile(String fileName) throws IOException, SAXException {
System.out.println("Parsing [" + fileName + "]");
Modified: branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/ProteinCache.java
===================================================================
--- branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/ProteinCache.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2/src/main/java/org/infinispan/ec2demo/ProteinCache.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo;
import org.infinispan.Cache;
@@ -14,7 +11,7 @@
*
*/
public class ProteinCache {
- private static final Log myLogger = LogFactory.getLog(ProteinCache.class);
+ private static final Log log = LogFactory.getLog(ProteinCache.class);
private Cache<String, Nucleotide_Protein_Element> myCache;
public ProteinCache(CacheBuilder cacheManger) throws IOException {
@@ -26,7 +23,7 @@
return;
String myKey = value.getGenbankAccessionNumber();
if ((myKey == null) || (myKey.isEmpty())) {
- myLogger.error("Invalid record " + value);
+ log.error("Invalid record " + value);
} else {
myCache.put(value.getGenbankAccessionNumber(), value);
}
Modified: branches/4.2.x/demos/ec2-ui/src/main/java/org/infinispan/ec2demo/web/CacheSearchServlet.java
===================================================================
--- branches/4.2.x/demos/ec2-ui/src/main/java/org/infinispan/ec2demo/web/CacheSearchServlet.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2-ui/src/main/java/org/infinispan/ec2demo/web/CacheSearchServlet.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -24,7 +24,7 @@
* Servlet implementation class CacheSearchServlet
*/
public class CacheSearchServlet extends HttpServlet {
- private Log myLogger = LogFactory.getLog(CacheSearchServlet.class);
+ private static final Log log = LogFactory.getLog(CacheSearchServlet.class);
private static final long serialVersionUID = 1L;
private Cache<String, Influenza_N_P_CR_Element> influenzaCache;
private Cache<String, Nucleotide_Protein_Element> proteinCache;
@@ -59,7 +59,7 @@
Influenza_N_P_CR_Element myRec = influenzaCache.get(searchGBAN);
if (myRec != null) {
- myLogger.trace("Searching nucleiodCache for " + myRec.getGanNucleoid());
+ log.trace("Searching nucleiodCache for " + myRec.getGanNucleoid());
Nucleotide_Protein_Element nucldet = nucleiodCache.get(myRec.getGanNucleoid());
request.setAttribute("Nucleotide", nucldet);
@@ -67,7 +67,7 @@
Map<String, String> myProt = myRec.getProtein_Data();
Map<String, String> myMap = new HashMap<String, String>();
for (String x : myProt.keySet()) {
- myLogger.trace("Searching proteinCache for " + x);
+ log.trace("Searching proteinCache for " + x);
Nucleotide_Protein_Element myProtdet = proteinCache.get(x);
String protein_CR = myProt.get(x);
myMap.put(myProtdet.getGenbankAccessionNumber(), protein_CR);
Modified: branches/4.2.x/demos/ec2-ui/src/main/java/org/infinispan/ec2demo/web/CacheServletListener.java
===================================================================
--- branches/4.2.x/demos/ec2-ui/src/main/java/org/infinispan/ec2demo/web/CacheServletListener.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/ec2-ui/src/main/java/org/infinispan/ec2demo/web/CacheServletListener.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -1,6 +1,3 @@
-/**
- *
- */
package org.infinispan.ec2demo.web;
import org.infinispan.ec2demo.CacheBuilder;
Modified: branches/4.2.x/demos/gridfs-webdav/src/main/java/org/infinispan/demos/gridfs/GridStore.java
===================================================================
--- branches/4.2.x/demos/gridfs-webdav/src/main/java/org/infinispan/demos/gridfs/GridStore.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/gridfs-webdav/src/main/java/org/infinispan/demos/gridfs/GridStore.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -21,7 +21,7 @@
* @author Bela Ban
*/
public class GridStore implements IWebdavStore {
- private static Log log = LogFactory.getLog(GridStore.class);
+ private static final Log log = LogFactory.getLog(GridStore.class);
private static int BUF_SIZE = 65536;
private final Cache<String, byte[]> data;
private final Cache<String, GridFile.Metadata> metadata;
Modified: branches/4.2.x/demos/gui/src/main/java/org/infinispan/demo/InfinispanDemo.java
===================================================================
--- branches/4.2.x/demos/gui/src/main/java/org/infinispan/demo/InfinispanDemo.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/demos/gui/src/main/java/org/infinispan/demo/InfinispanDemo.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -46,7 +46,7 @@
* @author Manik Surtani
*/
public class InfinispanDemo {
- private static Log log = LogFactory.getLog(InfinispanDemo.class);
+ private static final Log log = LogFactory.getLog(InfinispanDemo.class);
private static JFrame frame;
private JTabbedPane mainPane;
private JPanel panel1;
Modified: branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/FileListOperations.java
===================================================================
--- branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/FileListOperations.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/FileListOperations.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -52,9 +52,14 @@
*/
Set<String> getFileList() {
Set<String> fileList = (Set<String>) cache.withFlags(Flag.SKIP_LOCKING).get(fileListCacheKey);
- if (fileList == null)
+ if (fileList == null) {
fileList = new ConcurrentHashSet<String>();
- return fileList;
+ Set<String> prev = (Set<String>) cache.putIfAbsent(fileListCacheKey, fileList);
+ return prev == null ? fileList : prev;
+ }
+ else {
+ return fileList;
+ }
}
/**
@@ -83,15 +88,11 @@
/**
* @param fileName
- * @return the FileMetadata associated with the fileName
- * @throws FileNotFoundException if the metadata was not found
+ * @return the FileMetadata associated with the fileName, or null if the file wasn't found.
*/
FileMetadata getFileMetadata(String fileName) throws FileNotFoundException {
FileCacheKey key = new FileCacheKey(indexName, fileName);
FileMetadata metadata = (FileMetadata) cache.withFlags(Flag.SKIP_LOCKING).get(key);
- if (metadata == null) {
- throw new FileNotFoundException(fileName);
- }
return metadata;
}
Modified: branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/InfinispanDirectory.java
===================================================================
--- branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/InfinispanDirectory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/InfinispanDirectory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -40,7 +40,7 @@
import org.infinispan.util.logging.LogFactory;
/**
- * An implementation of Lucene's {@link org.apache.lucene.store.Directory} which uses Infinispan to store Lucene indices.
+ * An implementation of Lucene's {@link org.apache.lucene.store.Directory} which uses Infinispan to store Lucene indexes.
* As the RAMDirectory the data is stored in memory, but provides some additional flexibility:
* <p><b>Passivation, LRU or LIRS</b> Bigger indexes can be configured to passivate cleverly selected chunks of data to a cache store.
* This can be a local filesystem, a network filesystem, a database or custom cloud stores like S3. See Infinispan's core documentation for a full list of available implementations, or {@link org.infinispan.loaders.CacheStore} to implement more.</p>
@@ -74,8 +74,8 @@
public class InfinispanDirectory extends Directory {
/**
- * used as default chunk size, can be overriden at construction time
- * each Lucene index segment is splitted into parts with default size defined here
+ * Used as default chunk size, can be overriden at construction time.
+ * Each Lucene index segment is splitted into parts with default size defined here
*/
public final static int DEFAULT_BUFFER_SIZE = 16 * 1024;
@@ -158,7 +158,13 @@
*/
public long fileModified(String name) throws IOException {
checkIsOpen();
- return fileOps.getFileMetadata(name).getLastModified();
+ FileMetadata fileMetadata = fileOps.getFileMetadata(name);
+ if (fileMetadata == null) {
+ return 0L;
+ }
+ else {
+ return fileMetadata.getLastModified();
+ }
}
/**
@@ -166,13 +172,15 @@
*/
public void touchFile(String fileName) throws IOException {
checkIsOpen();
- FileCacheKey key = new FileCacheKey(indexName, fileName);
- FileMetadata file = (FileMetadata) cache.get(key);
+ FileMetadata file = fileOps.getFileMetadata(fileName);
if (file == null) {
- throw new FileNotFoundException(fileName);
+ return;
}
- file.touch();
- cache.put(key, file);
+ else {
+ FileCacheKey key = new FileCacheKey(indexName, fileName);
+ file.touch();
+ cache.put(key, file);
+ }
}
/**
@@ -226,7 +234,13 @@
*/
public long fileLength(String name) throws IOException {
checkIsOpen();
- return fileOps.getFileMetadata(name).getSize();
+ FileMetadata fileMetadata = fileOps.getFileMetadata(name);
+ if (fileMetadata == null) {
+ return 0L;//as in FSDirectory (RAMDirectory throws an exception instead)
+ }
+ else {
+ return fileMetadata.getSize();
+ }
}
/**
Modified: branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/TransactionalLockFactory.java
===================================================================
--- branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/TransactionalLockFactory.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/TransactionalLockFactory.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -36,14 +36,14 @@
* <p>Factory for locks obtained in <code>InfinispanDirectory</code>,
* this factory produces instances of <code>TransactionalSharedLuceneLock</code>.</p>
* <p>Usually Lucene acquires the lock when creating an IndexWriter and releases it
- * when closing it; this is open-close is mapped to transactions as begin-commit,
- * so all changes are going to be effective at IndexWriter close and could need
- * much memory until it's committed.
+ * when closing it; these open-close operations are mapped to transactions as begin-commit,
+ * so all changes are going to be effective at IndexWriter close.
* The advantage is that a transaction rollback will be able to undo all changes
- * applied to the index.</p>
+ * applied to the index, but this requires enough memory to hold all the changes until
+ * the commit.</p>
* <p>Using a TransactionalSharedLuceneLock is not compatible with Lucene's
* default MergeScheduler: use an in-thread implementation like SerialMergeScheduler
- * <code>iwriter.setMergeScheduler( new SerialMergeScheduler() );</code></p>
+ * <code>indexWriter.setMergeScheduler( new SerialMergeScheduler() );</code></p>
*
* @since 4.0
* @author Sanne Grinovero
Copied: branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/package-info.java (from rev 2323, branches/4.1.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/package-info.java)
===================================================================
--- branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/package-info.java (rev 0)
+++ branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/locking/package-info.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -0,0 +1,8 @@
+/**
+ * Lucene's IndexWriter instances are threadsafe but you can have only one open on the index, so when opening an IndexWriter an
+ * index-wide lock needs to be acquired. When using Infinispan this lock needs reliable distribution, so two implementations
+ * are provided which where tested with the Infinispan Directory and are suited for distributed locking, but you could provide your own implementation of LockFactory.
+ * You might also disable the locking altogether if you have application level or other external guarantees that no two IndexWriters
+ * will ever be opened.
+ */
+package org.infinispan.lucene.locking;
Copied: branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/package-info.java (from rev 2323, branches/4.1.x/lucene-directory/src/main/java/org/infinispan/lucene/package-info.java)
===================================================================
--- branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/package-info.java (rev 0)
+++ branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/package-info.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -0,0 +1,5 @@
+/**
+ * Lucene Directory implementation which stores the index in Infinispan.
+ * For information about Apache Lucene (Java) see <a href="http://lucene.apache.org/java/docs/index.html">the Lucene homepage</a>.
+ */
+package org.infinispan.lucene;
Modified: branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/SegmentReadLocker.java
===================================================================
--- branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/SegmentReadLocker.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/SegmentReadLocker.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -31,6 +31,10 @@
* invoked when the stream is closed.</p>
* <p>The same {@link #deleteOrReleaseReadLock(String)} is invoked when a file is deleted, so if this invocation is not balancing
* a lock acquire this implementation must delete all segment chunks and the associated metadata.</p>
+ * <p>Note that if you can use and tune the {@link org.apache.lucene.index.LogByteSizeMergePolicy} you could avoid the need
+ * for readlocks by setting a maximum segment size to equal the chunk size used by the InfinispanDirectory; readlocks
+ * will be skipped automatically when not needed, so it's advisable to still configure an appropriate SegmentReadLocker
+ * for the cases you might want to tune the chunk size.</p>
*
* @author Sanne Grinovero
* @since 4.1
Copied: branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/package-info.java (from rev 2323, branches/4.1.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/package-info.java)
===================================================================
--- branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/package-info.java (rev 0)
+++ branches/4.2.x/lucene-directory/src/main/java/org/infinispan/lucene/readlocks/package-info.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -0,0 +1,7 @@
+/**
+ * Several implementations for a SegmentReadLocker, pick one depending on your use case.
+ * Lucene's default IndexDeletionPolicy could remove a segment while it's still used by another IndexReader;
+ * this is not an issue on a local filesystem, but could happen on Infinispan.
+ * To prevent deletion of in-use segments a read-lock is acquired when a segment is opened.
+ */
+package org.infinispan.lucene.readlocks;
Modified: branches/4.2.x/parent/pom.xml
===================================================================
--- branches/4.2.x/parent/pom.xml 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/parent/pom.xml 2010-09-05 12:05:39 UTC (rev 2324)
@@ -108,7 +108,7 @@
<version.jta>1.0.1.GA</version.jta>
<version.log4j>1.2.16</version.log4j>
<version.mysql.driver>5.1.9</version.mysql.driver>
- <version.netty>3.2.1.Final</version.netty>
+ <version.netty>3.2.2.Final</version.netty>
<version.org.jboss.naming>5.0.3.GA</version.org.jboss.naming>
<version.resteasy>2.0-beta-2</version.resteasy>
<version.rhq.pluginAnnotations>1.4.0.B01</version.rhq.pluginAnnotations>
Modified: branches/4.2.x/query/src/main/java/org/infinispan/query/backend/KeyTransformationHandler.java
===================================================================
--- branches/4.2.x/query/src/main/java/org/infinispan/query/backend/KeyTransformationHandler.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/query/src/main/java/org/infinispan/query/backend/KeyTransformationHandler.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -44,7 +44,7 @@
* @since 4.0
*/
public class KeyTransformationHandler {
- private static Log log = LogFactory.getLog(KeyTransformationHandler.class);
+ private static final Log log = LogFactory.getLog(KeyTransformationHandler.class);
public static Object stringToKey(String s) {
char type = s.charAt(0);
Modified: branches/4.2.x/query/src/main/java/org/infinispan/query/backend/QueryHelper.java
===================================================================
--- branches/4.2.x/query/src/main/java/org/infinispan/query/backend/QueryHelper.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/query/src/main/java/org/infinispan/query/backend/QueryHelper.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -30,6 +30,7 @@
import org.infinispan.config.Configuration;
import org.infinispan.factories.ComponentRegistry;
import org.infinispan.factories.InterceptorChainFactory;
+import org.infinispan.interceptors.DistLockingInterceptor;
import org.infinispan.interceptors.LockingInterceptor;
import org.infinispan.interceptors.base.CommandInterceptor;
import org.infinispan.util.logging.Log;
@@ -129,11 +130,11 @@
try {
if (cfg.isIndexLocalOnly()) {
// Add a LocalQueryInterceptor to the chain
- initComponents(LocalQueryInterceptor.class);
+ initComponents(cfg, LocalQueryInterceptor.class);
} else {
// We're indexing data even if it comes from other sources
// Add in a QueryInterceptor to the chain
- initComponents(QueryInterceptor.class);
+ initComponents(cfg, QueryInterceptor.class);
}
} catch (Exception e) {
throw new CacheException("Unable to add interceptor", e);
@@ -176,7 +177,7 @@
// Private method that adds the interceptor from the classname parameter.
- private void initComponents(Class<? extends QueryInterceptor> interceptorClass)
+ private void initComponents(Configuration cfg, Class<? extends QueryInterceptor> interceptorClass)
throws IllegalAccessException, InstantiationException {
// get the component registry and then register the searchFactory.
@@ -189,8 +190,10 @@
CommandInterceptor inter = icf.createInterceptor(interceptorClass);
cr.registerComponent(inter, QueryInterceptor.class);
- cache.getAdvancedCache().addInterceptorAfter(inter, LockingInterceptor.class);
-
+ cache.getAdvancedCache().addInterceptorAfter(inter,
+ cfg.getCacheMode().isDistributed() ?
+ DistLockingInterceptor.class :
+ LockingInterceptor.class);
}
//This is to check that both the @ProvidedId is present and the the @DocumentId is not present. This is because
Modified: branches/4.2.x/query/src/main/java/org/infinispan/query/backend/QueryInterceptor.java
===================================================================
--- branches/4.2.x/query/src/main/java/org/infinispan/query/backend/QueryInterceptor.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/query/src/main/java/org/infinispan/query/backend/QueryInterceptor.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -35,7 +35,6 @@
import org.infinispan.factories.annotations.Inject;
import org.infinispan.interceptors.base.CommandInterceptor;
import org.infinispan.marshall.MarshalledValue;
-import org.infinispan.util.logging.Log;
import javax.transaction.TransactionManager;
import java.io.Serializable;
Copied: branches/4.2.x/query/src/test/java/org/infinispan/query/config/CacheModeTest.java (from rev 2323, branches/4.1.x/query/src/test/java/org/infinispan/query/config/CacheModeTest.java)
===================================================================
--- branches/4.2.x/query/src/test/java/org/infinispan/query/config/CacheModeTest.java (rev 0)
+++ branches/4.2.x/query/src/test/java/org/infinispan/query/config/CacheModeTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -0,0 +1,53 @@
+package org.infinispan.query.config;
+
+import org.infinispan.Cache;
+import org.infinispan.config.Configuration;
+import org.infinispan.interceptors.base.CommandInterceptor;
+import org.infinispan.manager.CacheContainer;
+import org.infinispan.manager.CacheManager;
+import org.infinispan.query.backend.QueryHelper;
+import org.infinispan.query.backend.QueryInterceptor;
+import org.infinispan.query.test.Person;
+import org.infinispan.test.AbstractInfinispanTest;
+import org.infinispan.test.SingleCacheManagerTest;
+import org.infinispan.test.TestingUtil;
+import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.testng.annotations.Test;
+
+import java.util.Properties;
+
+ at Test(groups = "functional", testName = "query.config.CacheModeTest")
+public class CacheModeTest extends AbstractInfinispanTest {
+ public void testLocal() {
+ doTest(Configuration.CacheMode.LOCAL);
+ }
+
+ public void testReplicated() {
+ doTest(Configuration.CacheMode.REPL_SYNC);
+ }
+
+ public void testInvalidated() {
+ doTest(Configuration.CacheMode.INVALIDATION_SYNC);
+ }
+
+ public void testDistributed() {
+ doTest(Configuration.CacheMode.DIST_SYNC);
+ }
+
+ private void doTest(Configuration.CacheMode m) {
+ CacheContainer cc = null;
+
+ try {
+ cc = TestCacheManagerFactory.createCacheManager(m, true);
+ QueryHelper qh = new QueryHelper(cc.getCache(), new Properties(), Person.class);
+ boolean found = false;
+ for (CommandInterceptor i : cc.getCache().getAdvancedCache().getInterceptorChain()) {
+ System.out.println(" Testing " + i.getClass().getSimpleName());
+ if (i instanceof QueryInterceptor) found = true;
+ }
+ assert found : "Didn't find a query interceptor in the chain!!";
+ } finally {
+ TestingUtil.killCacheManagers(cc);
+ }
+ }
+}
Modified: branches/4.2.x/query/src/test/java/org/infinispan/query/test/AnotherGrassEater.java
===================================================================
--- branches/4.2.x/query/src/test/java/org/infinispan/query/test/AnotherGrassEater.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/query/src/test/java/org/infinispan/query/test/AnotherGrassEater.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -12,6 +12,7 @@
@ProvidedId(bridge = @FieldBridge(impl = StringBridge.class))
@Indexed(index = "anotherclass")
public class AnotherGrassEater implements Serializable {
+ private static final long serialVersionUID = -5685487467005726138L;
@Field(store = Store.YES)
private String name;
@Field(store = Store.YES)
Modified: branches/4.2.x/server/rest/src/main/resources/sample_python_REST_client.py
===================================================================
--- branches/4.2.x/server/rest/src/main/resources/sample_python_REST_client.py 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/server/rest/src/main/resources/sample_python_REST_client.py 2010-09-05 12:05:39 UTC (rev 2324)
@@ -8,21 +8,32 @@
## Your Infinispan WAR server host
hostname = "localhost:8080"
+webapp_name = "infinispan-server-rest"
+cache_name = "___defaultcache"
+key = "my_key"
#putting data in
-conn = httplib.HTTPConnection(hostname)
-data = "SOME DATA HERE !" #could be string, or a file...
-conn.request("POST", "/infinispan/rest/Bucket/0", data, {"Content-Type": "text/plain"})
-response = conn.getresponse()
-print response.status
+print "Storing data on server %s under key [%s] over REST" % (hostname, key)
+try:
+ conn = httplib.HTTPConnection(hostname)
+ data = "This is some test data." #could be string, or a file...
+ conn.request("POST", "/%s/rest/%s/%s" % (webapp_name, cache_name, key), data, {"Content-Type": "text/plain"})
+ response = conn.getresponse()
+ print "HTTP status: %s" % response.status
+except:
+ print "Unable to connect to the REST server on %s. Is it running?" % hostname
#getting data out
-import httplib
-conn = httplib.HTTPConnection(hostname)
-conn.request("GET", "/infinispan/rest/Bucket/0")
-response = conn.getresponse()
-print response.status
-print response.read()
+print "Retrieving data from server %s under key [%s]" % (hostname, key)
+try:
+ conn = httplib.HTTPConnection(hostname)
+ conn.request("GET", "/%s/rest/%s/%s" % (webapp_name, cache_name, key))
+ response = conn.getresponse()
+ print "HTTP status: %s" % response.status
+ print "Value retrieved: %s" % response.read()
+except:
+ print "Unable to connect to the REST server on %s. Is it running?" % hostname
-## For more information on usagse see http://www.jboss.org/community/wiki/InfinispanRESTserver
+## For more information on usage see http://community.jboss.org/wiki/InfinispanRESTserver
+
Modified: branches/4.2.x/server/rest/src/main/resources/sample_ruby_REST_client.rb
===================================================================
--- branches/4.2.x/server/rest/src/main/resources/sample_ruby_REST_client.rb 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/server/rest/src/main/resources/sample_ruby_REST_client.rb 2010-09-05 12:05:39 UTC (rev 2324)
@@ -11,31 +11,28 @@
http = Net::HTTP.new('localhost', 8080)
#Create new entry
-http.post('/infinispan/rest/MyData/MyKey', 'DATA HERE', {"Content-Type" => "text/plain"})
+http.post('/infinispan-server-rest/rest/___defaultcache/MyKey', 'DATA HERE', {"Content-Type" => "text/plain"})
#get it back
-puts http.get('/infinispan/rest/MyData/MyKey').body
+puts http.get('/infinispan-server-rest/rest/___defaultcache/MyKey').body
#use PUT to overwrite
-http.put('/infinispan/rest/MyData/MyKey', 'MORE DATA', {"Content-Type" => "text/plain"})
+http.put('/infinispan-server-rest/rest/___defaultcache/MyKey', 'MORE DATA', {"Content-Type" => "text/plain"})
#and remove...
-http.delete('/infinispan/rest/MyData/MyKey')
+http.delete('/infinispan-server-rest/rest/___defaultcache/MyKey')
-#Create binary data like this... just the same...
-http.put('/infinispan/rest/MyImages/Image.png', File.read('/Users/michaelneale/logo.png'), {"Content-Type" => "image/png"})
-
#and if you want to do json...
require 'rubygems'
require 'json'
#now for fun, lets do some JSON !
data = {:name => "michael", :age => 42 }
-http.put('/infinispan/rest/Users/data/0', data.to_json, {"Content-Type" => "application/json"})
+http.put('/infinispan-server-rest/rest/___defaultcache/MyKey', data.to_json, {"Content-Type" => "application/json"})
puts "OK !"
-## For more information on usagse see http://www.jboss.org/community/wiki/InfinispanRESTserver
+## For more information on usagse see http://community.jboss.org/wiki/InfinispanRESTserver
Property changes on: branches/4.2.x/server/websocket
___________________________________________________________________
Name: svn:ignore
- target
+ target
.settings
.classpath
.project
Property changes on: branches/4.2.x/tree
___________________________________________________________________
Name: svn:ignore
- target
.settings
eclipse-output
test-output
output
.classpath
.project
temp-testng-customsuite.xml
*.iml
*.log
+ target
.settings
eclipse-output
test-output
output
.classpath
.project
temp-testng-customsuite.xml
*.iml
*.log
PutObjectStoreDirHere
Modified: branches/4.2.x/tree/src/main/java/org/infinispan/tree/TreeStructureSupport.java
===================================================================
--- branches/4.2.x/tree/src/main/java/org/infinispan/tree/TreeStructureSupport.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/tree/src/main/java/org/infinispan/tree/TreeStructureSupport.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -33,7 +33,7 @@
import org.infinispan.util.logging.LogFactory;
public class TreeStructureSupport extends AutoBatchSupport {
- private static Log log = LogFactory.getLog(TreeStructureSupport.class);
+ private static final Log log = LogFactory.getLog(TreeStructureSupport.class);
protected final Cache<NodeKey, AtomicMap<?, ?>> cache;
protected final InvocationContextContainer icc;
Modified: branches/4.2.x/tree/src/test/java/org/infinispan/api/tree/LazyDeserializationTreeCacheTest.java
===================================================================
--- branches/4.2.x/tree/src/test/java/org/infinispan/api/tree/LazyDeserializationTreeCacheTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/tree/src/test/java/org/infinispan/api/tree/LazyDeserializationTreeCacheTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,7 +3,6 @@
import org.infinispan.config.Configuration;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.test.SingleCacheManagerTest;
-import org.infinispan.test.TestingUtil;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.infinispan.tree.TreeCache;
import org.infinispan.tree.TreeCacheImpl;
Modified: branches/4.2.x/tree/src/test/java/org/infinispan/tx/TransactionManagerLookupTreeTest.java
===================================================================
--- branches/4.2.x/tree/src/test/java/org/infinispan/tx/TransactionManagerLookupTreeTest.java 2010-09-05 11:04:47 UTC (rev 2323)
+++ branches/4.2.x/tree/src/test/java/org/infinispan/tx/TransactionManagerLookupTreeTest.java 2010-09-05 12:05:39 UTC (rev 2324)
@@ -3,11 +3,8 @@
import org.infinispan.config.Configuration;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
-import org.infinispan.test.AbstractInfinispanTest;
-import org.infinispan.test.SingleCacheManagerTest;
import org.infinispan.test.TestingUtil;
import org.infinispan.transaction.lookup.TransactionManagerLookup;
-import org.infinispan.tree.Fqn;
import org.infinispan.tree.TreeCache;
import org.infinispan.tree.TreeCacheFactory;
import org.testng.annotations.Test;
More information about the infinispan-commits
mailing list