Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
MODE-2670 Changes the logic of initializing in a cluster, removing redundant locking This commit also changes the default locking method in a cluster to be DB locking, which is far more reliable than JGroups. That latter has been deprecated (code wise) and will be removed in the next major version.

    • -223
    • +67
    ./ClusteredChangeBusTest.java
  1. … 12 more files in changeset.
MODE-2650 Adds the ability to update the connector configuration of a running repository

  1. … 4 more files in changeset.
MODE-2546,MODE-2569 Fixes several locking and concurrency issues The previous exclusive locking logic relied on ReentrantLock.hasQueuedThreads which is not reliable and correct. Also, the FileDB code did not correctly use the MapDB tx API causing various corruption issues in multi-threaded cases. This commit also refactors most of the clustering tests trying to minimize the number of cluster services stopped/started with each test since these operations take a lot of time.

  1. … 28 more files in changeset.
MODE-2528 Integrates the new relational provider with the modeshape codebase This is a huge commit which makes the necessary changes to remove all Infinispan configuration and dependencies, replacing it with the new mechanism. It also contains several changes to the relational provider design because of various failing tests. This includes among other thing the necessity for ModeShape to notify the provider once exclusive locks have been obtained as part of each transaction.

  1. … 305 more files in changeset.
MODE-2537 Fixes the improper cleanup of components in case of an unexpected shutdown In the case when a repository terminated unexpectedly, certain thread pools could be left running. This commit makes sure that all the repository components are shut down even in the case of a startup failure. Also, it fixes the handling of thread pools for several unit tests.

  1. … 8 more files in changeset.
MODE-2537 Fixes the improper cleanup of components in case of an unexpected shutdown In the case when a repository terminated unexpectedly, certain thread pools could be left running. This commit makes sure that all the repository components are shut down even in the case of a startup failure. Also, it fixes the handling of thread pools for several unit tests. The unit tests in question were also updated to use JDK 8 lambas in certain places.

  1. … 15 more files in changeset.
MODE-2522 Removes the Joda date-time library dependency and switches to javax.time This also changes the current ModeShape DateTime API removing a lot of the existing methods and encouraging users to use the standard JDK 1.8 API.

  1. … 28 more files in changeset.
MODE-2517 Updates the re-indexing mechanism making sure changes are committed This commit also rearranges the location of the clustering configuration files.

  1. … 41 more files in changeset.
MODE-2409 Changed the ClusteredChangeBus to wait until it receives loopback-changesets. This is the only way (apart from not sending loopback messages through JGroups) to ensure that when a thread calls "bus.notify" all the "in-thread" listeners have actually been notified before continuing with that thread. This in turn is a precondition that must hold true for any changes in the system area to work correctly.

  1. … 5 more files in changeset.
MODE-2302 Changed the default behavior of storing binary properties: up until now, when a binary property was created the BinaryValue would be stored into the BinaryStore as a "used" value immediately, regardless of what happens with the transaction. This is no longer the case, as the new behavior is to store the BinaryValue initially as "unused" and only on tx commit, based on the actual binary references count would the binary become "used". There is one exception to this rule and that is the Backup/Restore process which doesn't use the JCR layer and process binaries immediately (essentialy keeping the old behavior). Numerous issues were found and corrected among existing binary stores implementations, chief among which being the fact that "getAllBinaryKeys" was not returning the keys of only the used binaries in all the stores.

  1. … 18 more files in changeset.
MODE-2302 Updated the BinaryStore API with a "markAsUsed" method which is now used during WritableSessionCache#save methods. Also, moved the entire logic of marking binary values used/unused inside a tx synchronizer.

  1. … 26 more files in changeset.
MODE-2268 Changed the ChangeSet implementation to expose the `sessionId` together with the `processId` and fixed the behavior of non-local event listeners.

  1. … 12 more files in changeset.
MODE-2268 Changed the ChangeSet implementation to expose the `sessionId` together with the `processId` and fixed the behavior of non-local event listeners.

  1. … 12 more files in changeset.
MODE-2268 Changed the ChangeSet implementation to expose the `sessionId` together with the `processId` and fixed the behavior of non-local event listeners.

  1. … 12 more files in changeset.
MODE-2226 Fixed the clustering service to support multiple fork channels off of the same main channel, with different stack ids.

  1. … 9 more files in changeset.
MODE-2088 Eliminated the ring buffer's ability to submit entries in the same thread, which simplifies the consumers and makes them not need to be concurrent. Also changed the WorkspaceCache to register its own listeners that are better optimized for what they do. Kept the ability for the RepositoryChangeBus to have in-thread listeners (notified in the caller's thread), but these listeners only receive events via this route. Changed the JcrRepository to register various listeners directly on the bus rather than via the RepositoryCache (which was a listener and just delegated the register and unregister methods to the change bus). At this point, all tests pass successfully (multiple build passes).

  1. … 26 more files in changeset.
MODE-2088 Updated the RingBuffer implementation and finished the CircularChangeBus which is now used by the repository.

    • -32
    • +0
    ./DisruptorRepositoryChangeBusTest.java
  1. … 27 more files in changeset.
MODE-2088 Added support for dynamically removing consumers, added more tests, and improved resiliency.

    • -0
    • +126
    ./DisruptorTest.java
  1. … 9 more files in changeset.
MODE-2088 Added WildFly support for the disruptor and changed/fixed various repository shutdown issues exposed by the current disruptor based bus.

    • -304
    • +0
    ./ClusteredAbstractChangeBusTest.java
  1. … 10 more files in changeset.
MODE-2088 Added a ChangeBus implementation based on the L-MAX Disruptor. The old (queue based implementation) was not removed, but deprecated.

    • -0
    • +214
    ./ChangeSetDispatcherTest.java
    • -306
    • +0
    ./ClusteredRepositoryChangeBusTest.java
    • -0
    • +32
    ./DisruptorRepositoryChangeBusTest.java
  1. … 10 more files in changeset.
MODE-2019 Implemented the JCR event functionality.

  1. … 16 more files in changeset.
MODE-2079 Changed the way clustering works so that ModeShape will always use the Infinispan JGroups channel as opposed to requiring a separate configuration.

    • -8
    • +4
    ./ClusteredRepositoryChangeBusTest.java
  1. … 58 more files in changeset.
MODE-2081 Changed the remaining files over to the ASL 2.0 license

    • -17
    • +9
    ./ClusteredRepositoryChangeBusTest.java
  1. … 1048 more files in changeset.
MODE-1683 Simplified message consuming & receiving; updated delta reconciliation implementation and MapDB version to 0.9.8.

  1. … 19 more files in changeset.
MODE-1683 Added a locally stored journalId which is also present on the changeSet instances and which is used as an identifier in the clustered cases instead of the processId, which has a different value each time.

  1. … 18 more files in changeset.
MODE-1683 Updated clustering and implemented delta-reconciliation mechanism for journals.

    • -58
    • +22
    ./ClusteredRepositoryChangeBusTest.java
  1. … 34 more files in changeset.
MODE-2024 Changed RepositoryChangeBus to use queue.take() instead of poll() and simplified internal thread creation so that fewer threads are spawned.

  1. … 4 more files in changeset.
MODE-1943 Implemented peer-to-peer indexing, based on processing of remote internal events. This mechanism will be triggered whenever a repository is clustered and indexing is not configured in clustered mode.

    • -1
    • +1
    ./ClusteredRepositoryChangeBusTest.java
  1. … 12 more files in changeset.
MODE-1852 Removed unused imports to correct compiler warnings

    • -3
    • +0
    ./ClusteredRepositoryChangeBusTest.java
MODE-1852 Correct deserialization of events over JGroups channel

JGroups needs to know about the classloader that loads the ModeShape

event classes. The easiest way to do this is to extend ObjectInputStream

to supply and use a classloader for deserialization. This is especially

important in AS7/EAP and OSGi, where a single classloader is not used

for all the components.

    • -1
    • +5
    ./ClusteredRepositoryChangeBusTest.java
  1. … 2 more files in changeset.