Commit Graph

239 Commits

Author SHA1 Message Date
Steve Ebersole 9633c0a6e5 disable hibernate-infinispan tests on master 2015-10-03 15:01:51 -05:00
Radim Vansa d812f79ace HHH-10101 Implement nonstrict-read-write mode in Infinispan 2LC
* requires non-transactional cache in repl/dist/local mode and versioned entities
2015-09-21 16:33:35 +02:00
Radim Vansa 5edcf26a0a HHH-10083 Support replicated and distributed caches 2015-09-16 14:46:52 +02:00
Radim Vansa 3689924d74 HHH-10030 Add read-write cache concurrency strategy to Infinispan 2LC
* AccessType.READ_WRITE is now supported cache concurrency strategy
* Added checks that we're caching in local or invalidation cache (distributed and replicated cache does not work ATM)
* Refactored test-suite: Running on both transactional and read-write caches (these should yield the same results)
** CustomParemeterized runner is used for that
** Moved all entities used in functional tests to one package
** Removed already disabled tests related to class loaders (not needed since Infinispan 5.1)
2015-09-03 11:35:05 +02:00
Radim Vansa 64137c3619 HHH-10057 hibernate-infinispan incompatible with Infinispan 8.0.0.CR1
* ISPN-5609 changed InvalidateCommand constructors: used reflection to work around that; now should work with 8.0.0.CR1
* renamed BeginInvalidationCommand.getLockOwner to getSessionTransactionId() to prevent further conflicts
* added commands tests
2015-09-01 11:59:59 -05:00
Radim Vansa 2057bb3f1d HHH-10023 Make hibernate-infinispan compiled with Infinispan 7.x but runnable with Infinispan 8.x
* workaround for ISPN-5676
* fix for ClassCastException in ClusteredTimestampsRegionImpl
* minor fixes in the testsuite
2015-08-20 13:37:37 +02:00
Steve Ebersole 11b358305a HHH-10040 - Fix problem with incomplete Iterator impl 2015-08-19 12:21:57 -05:00
Radim Vansa 6191489ca3 HHH-9928 Pending put leaks when the entity is not found in DB 2015-08-12 10:55:49 +02:00
Radim Vansa 93d39fa470 HHH-9868, HHH-9881 Must not write into non-transactional caches during transactional write
* The write can only invalidate (remove) the entry and block further PFERs of that entry
* After successful DB update, if there have not been any concurrent updates the value can be PFERed into the cache
2015-08-12 10:39:22 +02:00
Radim Vansa 19c14cee9a HHH-9868, HHH-9881 Removed references to TransactionManager from PutFromLoadValidator
* Also removed put() instead of PFER() after region invalidation
* Relaxed test that required that session.load() after cache.evictAll() in the same transaction cached the loaded entity
2015-08-12 10:39:21 +02:00
Radim Vansa c8ed5e1bef HHH-9898 Test for correct behaviour of 2LC
* Test is marked as ignored since it is expected to run it only manually
2015-08-12 10:39:21 +02:00
Radim Vansa 984125e87e HHH-9868, HHH-9881 Replaced access to TransactionManager with Session 2015-08-12 10:39:20 +02:00
Radim Vansa 1f24fa6354 HHH-9868, HHH-9881 Implementation for non-transactional caches and non-JTA transactions. 2015-08-12 10:39:19 +02:00
Radim Vansa fa7265ff0e HHH-9881 Pending put needs to be invalidated on update on remote node
* This could lead to performance degradation since new EndInvalidatingCommand
  needs to be send after transaction is committed
2015-08-12 10:39:18 +02:00
Radim Vansa 4b2a78785e HHH-9868 Infinispan 2LC can store stale data
* invalidation blocks putFromLoads until the transaction with invalidation
  is committed
* rewritten the naked puts support: timestamp is stored in the pendingPutMap
  and removal of the record relies on pending puts' idle expiration or
  piggy-backs on release from putFromLoad
2015-08-12 10:39:18 +02:00
Radim Vansa fa8e94071f HHH-9988 Separate transaction manager used for Hibernate and caches 2015-08-12 10:39:17 +02:00
Radim Vansa c952a843fa HHH-10023 Make hibernate-infinispan compiled with Infinispan 7.x but runnable with Infinispan 8.x 2015-08-12 10:39:16 +02:00
Sanne Grinovero bd6bb7b841 HHH-10021 Allow the exact version of Infinispan to be used for testing to be overriden from commandline 2015-08-06 10:55:52 +01:00
Sanne Grinovero 8c5c291bee HHH-10021 Allow easy testing of hibernate-infinispan against Infinispan 7 or 8 2015-08-06 10:33:39 +01:00
Andrea Boriero 4da260b3be HHH-9990 - Enabled batched updates for versioned data by default 2015-08-05 11:27:18 +01:00
Radim Vansa ab4c6841df HHH-10005 Query in context needs precedence over query in cache 2015-07-30 18:31:26 +02:00
Sanne Grinovero 44e7171edd HHH-10001 Make the testsuite compatible with Infinispan 8 2015-07-30 14:51:25 +01:00
Paul Ferraro 60c109c1a4 HHH-9999 Fix use of deprecated API
This fixes compatibility with Infinispan 8.0
2015-07-29 16:06:44 -04:00
Radim Vansa 0cb00db3b9 HHH-7898 Regression on org.hibernate.cache.infinispan.query.QueryResultsRegionImpl.put(Object, Object)
* Moved query cache update to second phase of transaction commit
* Query caches are now recommended to be non-transactional (transactional ones will be slower)
2015-07-28 18:02:17 +01:00
Radim Vansa 4fd7680191 HHH-9977 Consider options for passing Session to caching SPI calls
* Passing SessionImplementor to all the calls executed in transactional context
2015-07-28 17:56:55 +01:00
Radim Vansa 2f1b67b03f HHH-9843 Use optimized cache key implementation in Infinispan 2LC
* When multi-tenancy is not used, entity's @Id can be used as key to the cache
* Added Type to CacheDataDescription (in SPI), later used for container key equivalence
* Introduced CacheKeysFactory to SPI
* Pending puts cache is now per region - this is necessary as we need to use custom key equivalence
2015-07-06 11:40:17 -05:00
Radim Vansa bcf38a02b5 HHH-9800 Numerous hibernate-infinispan tests continue to fail transiently
The original cause was JGRP-1931, but this replaces fixed delays with eventual asserts (with 10 seconds timeouts).
2015-07-06 11:25:25 -05:00
Radim Vansa cffe71aeba HHH-9840 Change all kinds of CacheKey contract to a raw Object
* Replaced all CacheKey with Object
* Because of statistics, added unwrap operation to all AccessStrategies
2015-07-01 23:14:13 +01:00
Sanne Grinovero 16ae00a53a HHH-9840 Allow 2nd level cache implementations to customize the various key implementations 2015-07-01 20:42:51 +01:00
Sanne Grinovero 1e54ee3dc1 HHH-9874 Do not leak the configuration resource stream 2015-06-19 18:41:00 +01:00
Sanne Grinovero f593a9c14a HHH-9874 Perform Infinispan configuration parsing using the classloader of the cache integration module 2015-06-19 18:41:00 +01:00
Sanne Grinovero 3d27b29468 HHH-9874 Improve resource lookup for the Infinispan configuration resources 2015-06-19 17:38:22 +01:00
Steve Ebersole 9e063ffa25 HHH-9837 - Remove reliance during annotation binding on org.hibernate.internal.util.ClassLoaderHelper
HHH-9841 - Redesign org.hibernate.property.PropertyAccessorFactory
2015-06-04 14:12:17 -05:00
Andrea Boriero 6417a469f9 HHH-9695 - Fix merge conflicts and checkStyle failure 2015-05-27 19:59:34 +01:00
rvansa ccc83405c4 HHH-9695 Use non-transactional cache for immutable entities 2015-05-27 19:20:28 +01:00
rvansa d46bfb3d80 HHH-9787 Remove outdated Infinispan configuration elements 2015-05-19 13:35:34 +02:00
Steve Ebersole bd256e4783 HHH-9803 - Checkstyle fix ups - headers 2015-05-18 23:25:14 -05:00
Steve Ebersole 611f8a0e1c HHH-9803 - Checkstyle fix ups 2015-05-18 13:35:27 -05:00
Steve Ebersole 7308e14fed HHH-9803 - Checkstyle fix ups 2015-05-15 18:07:07 -05:00
Steve Ebersole a50e5f3623 HHH-9800 - Numerous hibernate-infinispan tests continue to fail transiently 2015-05-15 08:49:46 -05:00
Gail Badner df898f3fbc HHH-9796 : Allow running hibernate-infinspan tests using Infinispan configuration specified by hibernate.cache.infinispan.cfg 2015-05-13 14:50:05 -07:00
Galder Zamarreño f3399926db HHH-9781 Update XML schema to Infinispan 7.2 2015-05-12 10:06:37 +02:00
Galder Zamarreño f8186e10c2 HHH-9776 elementCountInMemory should be local
* By default Cache.size() is now cluster-wide and hence to calculate
elementCountInMemory, local flag needs to be passed in (as well as
skip cache load in case there's a remote store plugged into it).
2015-05-08 17:43:40 +02:00
Galder Zamarreño 37494f4a9f HHH-9781 Update to Infinispan 7.2.1.Final
* The upgrade caused some tests that verified number of cached elements
in memory to fail. The cause for this was the change in clear()
operation which now is non-transactional, hence each element needs to
be removed individually.
2015-05-08 17:43:39 +02:00
Steve Ebersole da1fcbbfb7 HHH-9762 - Complete deprecation of Settings contract 2015-05-05 18:00:37 -05:00
Andrea Boriero b476094d43 HHH-9747 - Import initial reworking of transaction handling (based on JdbcSession work) 2015-04-24 10:58:08 -05:00
Steve Ebersole d2c50f16f2 HHH-9727 - Slight redesign to bootstrapping APIs to allow for OGM bootstrapping 2015-04-21 13:49:06 -05:00
Steve Ebersole e8af41637f HHH-9727 - Slight redesign to bootstrapping APIs to allow for OGM bootstrapping 2015-04-21 11:56:06 -05:00
Steve Ebersole 2c968538a5 HHH-9728 - Audit Settings to decide what should become a SessionFactoryServiceRegistry service 2015-04-16 00:59:10 -05:00
Steve Ebersole 650267077d HHH-9717 - Build script improvements - applied new standalone XJC and AnimalSniffer plugins 2015-04-10 11:58:22 -05:00
Steve Ebersole c11d264743 HHH-9550 - Allow a dialect to specify the level of catalog/schema support 2015-04-07 16:36:29 -05:00
Steve Ebersole 2cff88cac7 Merge pull request #910 from rvansa/HHH-9632_2
HHH-9632 Upgrade to Infinispan 7.1.0.Final
2015-03-20 12:26:16 -05:00
rvansa 1b7e112994 HHH-9632 Upgrade to Infinispan 7.1.0.Final
* fixed default configuration path
* set schema to 7.1
2015-03-18 11:15:59 +01:00
Steve Ebersole 9caca0ce37 HHH-9490 - Migrate from dom4j to jaxb for XML processing;
HHH-9492 - Migrate to new bootstrap API (MetadataSources, etc);
HHH-7078 - Split NamingStrategy into ImplicitNamingStrategy/PhysicalNamingStrategy;
HHH-6005 - Better handling of implicit column naming with @ElementCollection of @Embeddables;
HHH-9633 - Add tests that explicitly test the "main" NamingStrategy impls
2015-03-10 16:53:51 -05:00
Galder Zamarreño 260ff03ae5 HHH-9632 Update to Infinispan 7.1.0.Final 2015-03-02 09:54:02 +01:00
Paul Ferraro b8923b1e39 HHH-9337 Region.destroy() attempts to remove a cache listener, but region class is not annotated with @Listener
(cherry picked from commit 2f881c38b4)
2015-01-05 23:37:22 -08:00
Gail Badner f9a49efd17 HHH-9231 : Uncommitted data can remain in transactional collection cache after rollback if collection is initialized after flush 2014-07-07 19:03:58 -07:00
Galder Zamarreño 36e35207f6 HHH-9231 Avoid updating collection 2LC if contains entity added in tx
(cherry picked from commit 3b098a94d3463086a230d6dbc1254e9ecbf76cda)

Conflicts:
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/BasicTransactionalTestCase.java
2014-07-07 19:03:58 -07:00
Gail Badner af5791f6dd HHH-9231 HHH-5690 : Test cases for transactional cache strategy 2014-06-04 13:45:04 -07:00
Gail Badner dad4c64d56 HHH-5690 : Entity cache after persist, flush, rollback (test case) 2014-06-03 21:28:24 -07:00
Brett Meyer 96b9366f14 HHH-8923 corrected test case 2014-03-26 10:36:01 -04:00
Brett Meyer 8358914331 HHH-9010: Revert "HHH-8961 corrected test failure"
This reverts commit 0dc24f1081.
2014-02-28 14:00:02 -05:00
Brett Meyer 0dc24f1081 HHH-8961 corrected test failure
Conflicts:
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java
2014-02-18 16:00:56 -05:00
Galder Zamarreño faba70203a HHH-8772 Remove removal test for PutFromLoadValidatorTest 2013-12-13 16:17:31 +01:00
Galder Zamarreño 3883d7ca2d HHH-8772 Bigger naked invalidation timeout for PutFromLoad unit test
* Test expects that the two invalidteKey calls happen within the naked
invalidation timeout. If they don't, the test would fail since the
second invalidate key would be removed. Increase the timeout
considerably to avoid the issue.
2013-12-09 17:48:07 +01:00
Steve Ebersole 055a750a53 HHH-8733 - General build cleanup 2013-12-02 20:57:57 -06:00
Steve Ebersole 14d0116af2 Revert "HHH-8733 - General build cleanup - hibernate-testing"
This reverts commit bc2855b323.
2013-11-26 17:48:25 -06:00
Steve Ebersole bc2855b323 HHH-8733 - General build cleanup - hibernate-testing 2013-11-26 13:53:18 -06:00
Steve Ebersole d1023821b1 HHH-8733 - General build cleanup 2013-11-26 13:04:55 -05:00
Steve Ebersole cd590470c0 HHH-8741 - More checkstyle cleanups 2013-11-24 09:44:55 -06:00
Galder Zamarreño c7fa16abe9 HHH-8623 Cache should be up to date after region eviction
* Region clear now happens within the transaction of the caller,
if any. Otherwise, a new transaction is started in order to do the
clear within a transaction and so deal with situations where cache
statistics are queried outside of a transaction.
* Cache updates after the region eviction should be allowed to
happen, so if region eviction happened within the transaction, a
putFromLoad() is mapped to a normal put instead of a PFER call,
so that the data is accessible for the current transaction. This is
not an issue for situations where region has not evicted because
the session cache will have data that's been accessed in the
transaction.
* Transaction manager could be null, if region non-transactional
2013-11-21 13:41:39 +01:00
Galder Zamarreño 7788092173 HHH-8624 Update to Infinispan 6.0 snapshot
* Snapshot update is only to verify that the testsuite passes with
the latest Infinispan fixes for ISPN-3639.
2013-11-21 13:41:38 +01:00
Steve Ebersole 859eaaa1c5 HHH-8619 - Account for "shadow" services as part of ServiceRegistry impls 2013-10-17 15:19:35 -05:00
Brett Meyer 90532087d5 HHH-7959 gracefully handle non-transactional entity cache 2013-08-07 11:44:44 -04:00
Steve Ebersole 8e3770235b HHH-8211 - Checkstyle and FindBugs fix-ups 2013-05-09 19:51:10 -05:00
Galder Zamarreño 23b6f6ab06 Add missing javadocs and fix rest of Checkstyle failures 2013-05-06 11:48:42 +01:00
Steve Ebersole bfbc0b88a8 HHH-8159 - Apply fixups indicated by analysis tools 2013-05-01 18:53:55 -05:00
Brett Meyer f83a2013b1 HHH-7943 test fix 2013-05-01 15:34:16 -04:00
Brett Meyer 489ee4a734 HHH-7943 Added support for ehcache and infinispan strategies and OSGi
services.  Numerous ehcache and infinispan CL fixes.
2013-05-01 15:05:31 -04:00
Brett Meyer 398000517f HHH-7943 Reworked "Availability" concepts into "strategy registration
providers".  Updated proxool and c3p0 to use strategy selection.
2013-04-29 11:51:01 -04:00
Steve Ebersole 8eeef7af3b HHH-8146 - Update to use maven-publishing plugin 2013-04-16 18:26:02 -05:00
Nikolay Shestakov cbbadea538 HHH-7908 Logging level checking
Conflicts:
	hibernate-core/src/main/java/org/hibernate/internal/SessionFactoryImpl.java
2013-04-12 09:56:41 -04:00
Brett Meyer cc4ef44670 HHH-8160 Updated for Gradle 1.5 OSGi plugin changes and package
versioning issues
2013-04-09 09:57:36 -04:00
Brett Meyer 394458f6a6 HHH-8010 Support app-managed EntityManagerFactory and SessionFactory
creation by OSGi bundles

Conflicts:
	hibernate-core/src/main/java/org/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl.java
	hibernate-core/src/main/java/org/hibernate/cfg/Configuration.java
	hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/DriverManagerConnectionProviderImpl.java
	hibernate-entitymanager/src/main/java/org/hibernate/ejb/Ejb3Configuration.java
	hibernate-osgi/src/main/java/org/hibernate/osgi/HibernateBundleActivator.java
2013-02-28 10:28:23 -05:00
Brett Meyer 4d68ddf7b0 HHH-7991 Correct all instances of
Thread.currentThread().getContextClassLoader()
2013-02-14 10:44:36 -05:00
Brett Meyer 56867417e2 HHH-7527 Enterprise OSGi JPA support 2013-02-14 10:44:35 -05:00
Strong Liu d54a60448a HHH-7580 compile error
Conflicts:
	hibernate-infinispan/src/main/java/org/hibernate/cache/infinispan/InfinispanRegionFactory.java
	hibernate-infinispan/src/main/java/org/hibernate/cache/infinispan/JndiInfinispanRegionFactory.java
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/ClusterAwareRegionFactory.java
2013-01-29 13:58:58 -05:00
Steve Ebersole 7976e2396a HHH-7580 - Complete 2-phase SessionFactory building design
Conflicts:
	hibernate-core/src/main/java/org/hibernate/SessionFactory.java
	hibernate-core/src/main/java/org/hibernate/boot/registry/StandardServiceRegistryBuilder.java
	hibernate-core/src/main/java/org/hibernate/internal/SessionFactoryImpl.java
	hibernate-core/src/main/java/org/hibernate/metamodel/MetadataSources.java
	hibernate-core/src/main/java/org/hibernate/metamodel/SessionFactoryBuilder.java
	hibernate-core/src/main/java/org/hibernate/metamodel/internal/SessionFactoryBuilderImpl.java
	hibernate-core/src/main/java/org/hibernate/metamodel/source/internal/JaxbHelper.java
	hibernate-core/src/main/java/org/hibernate/metamodel/source/internal/MetadataBuilderImpl.java
	hibernate-core/src/main/java/org/hibernate/metamodel/source/internal/MetadataImpl.java
	hibernate-core/src/main/java/org/hibernate/service/spi/ServiceContributor.java
	hibernate-core/src/test/java/org/hibernate/cfg/beanvalidation/ApplySchemaConstraintTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/binding/BasicCollectionBindingTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/internal/source/AssertSourcesTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/source/annotations/entity/BaseAnnotationBindingTestCase.java
	hibernate-core/src/test/java/org/hibernate/metamodel/source/annotations/xml/OrmXmlParserTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/source/internal/MetadataImplTest.java
	hibernate-core/src/test/java/org/hibernate/metamodel/spi/binding/AbstractBasicBindingTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/spi/binding/AbstractUnsavedValueTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/spi/binding/JoinedSubclassBindingTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/spi/binding/basiccollections/AbstractBasicCollectionBindingTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/spi/binding/onetomany/AbstractUnidirectionalOneToManyBindingTests.java
	hibernate-core/src/test/java/org/hibernate/metamodel/spi/relational/AbstractGeneratedIdColumnTests.java
	hibernate-core/src/test/java/org/hibernate/test/jdbc/internal/BatchingTest.java
	hibernate-core/src/test/java/org/hibernate/test/service/schema/internal/ExistingDatabaseMetaDataImplTest.java
	hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/EntityManagerFactoryBuilderImpl.java
	hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/EntityManagerFactoryBuilderUsingMetamodelImpl.java
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/NodeEnvironment.java
	hibernate-testing/src/main/java/org/hibernate/testing/junit4/BaseCoreFunctionalTestCase.java
2013-01-29 13:58:58 -05:00
Strong Liu c1cf5cd6e6 HHH-7947 remove not maintained 2LC from doc 2013-01-28 13:30:38 +08:00
Strong Liu 6c6df69535 refactor, remove redundant type cast 2012-12-25 19:25:47 +08:00
Galder Zamarreño b0efdb4d14 HHH-7871 Write cache should not using LOCAL flag
* Flags were not being applied in clustered environments because of
the use of classloader aware cache which was not forwarding them.
2012-12-18 09:44:45 +01:00
Galder Zamarreño 49ea5d65df HHH-7763 No need to clear caches when these are going to be stopped
* Make sure failures in stop won't affect other crucial stop operations
that could leave nodes unstopped.
2012-11-08 10:16:36 +01:00
Galder Zamarreño e57c822cbc HHH-7553 Use new Infinispan configuration exclusively 2012-10-26 17:46:05 +02:00
Galder Zamarreño cf9ef94f8e HHH-7553 Upgrade to Infinispan 5.2.0.Beta2 and fix testsuite 2012-10-26 17:46:03 +02:00
Galder Zamarreño d7e58c794d HHH-7554 Transform global statistics override to new configuration 2012-10-26 17:46:02 +02:00
Galder Zamarreño a074d3244d HHH-7640 Improve single node Infinispan 2LC performance
* Use an Infinispan cache to maintain pending puts, which avoids
the need to control it's memory consumption in the critical path
of putFromLoad.
* This cache is shared by all regions, and it's configured with
aggressive expiration settings to avoid piling up pending put
operations.
* Added a 2LC stress test that tests behaivour and performance
of 2LC under multiple situations, such as entity inserts, updates,
find via PK, find via query and deletes.
* Some other minor performance enhancements, such as avoiding
classloader aware cache wrapper if using 2LC locally.
* Remove cache adapter to reduce construction of useless objects.
* Cache flagged caches in order to avoid recomputing decorated
caches all the time, which reduces memory consumption.
* Skip locking for timestamp updates and separate timestamp region
implementations for local vs clustered scenarios.
2012-10-18 15:57:15 +02:00
Steve Ebersole ab64f5c3be HHH-7552 - New StrategySelectorService : initial auto-detection 2012-08-31 16:20:05 -05:00
Steve Ebersole 37542fe1f1 HHH-6823 - Short-name config values 2012-08-29 10:49:06 -05:00
Steve Ebersole 4ad49a02c9 HHH-7556 - Clean up packages 2012-08-28 14:12:15 -05:00
Strong Liu 7a82349f75 HHH-7385 change to use gradle 1.1 2012-08-08 17:09:11 +08:00