Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
MODE-2516 Updates JDK to 1.8 and jboss-parent to the latest version (19) This is the first significant commit of the 5.x series and contains a number of significant changes: - the naming of Maven version properties changed to adopt the standard pattern: 'version.<groupId>.<artifactId>' - build system and dependency updates so that the latest Maven plugin versions function correctly - updating source code to avoid compiler and javadoc warnings

  1. … 154 more files in changeset.
MODE-2345 Updated event-related metrics using the new 4.x ring buffer.

    • -0
    • +55
    ./RepositoryCursor.java
    • -0
    • +67
    ./RepositoryRingBufferBuilder.java
  1. … 5 more files in changeset.
MODE-2409 Removed code added as a previous fix for this issue & changed the JGroups config to achieve the same effect.

  1. … 1 more file 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. … 4 more files in changeset.
MODE-2381 When shutting down, the bus should only set the shutdown flag after it puts the stop marker changeset in the queue. Otherwise a listener might preemptively null out the queue resulting in a NPE.

MODE-2343 Added more robust handling when shutting down the repository change bus.

  1. … 1 more file in changeset.
MODE-2310 Added some error handling for the case when the repository has already been shutdown.

MODE-2277 Changed & simplified the thread-safe approach for RepositoryChangeBus, to avoid deadlocking when a listener attempts to un-register itself.

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. … 28 more files in changeset.
MODE-2088 RepositoryChangeBus actually requires producers to be on multiple threads, and this was causing problems for the 'single-thread-producer' initial implementation. Added simple locking in the RingBuffer.add(...) methods, and verified that this fixes the sequencer problems.

Interestingly, the time for my build is approximately 30-40 seconds slower (repeatedly) with the locking enabled, so we probably do want to consider getting rid of the locking but still supporting multiple producers.

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

    • -157
    • +0
    ./ClusteredRepositoryChangeBus.java
    • -146
    • +0
    ./DisruptorRepositoryChangeBus.java
  1. … 26 more files in changeset.
MODE-2088 Added support for dynamically removing consumers, added more tests, and improved resiliency.

    • -0
    • +197
    ./CircularChangeBus.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.

  1. … 13 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
    • +248
    ./ChangeSetDispatcher.java
    • -0
    • +146
    ./DisruptorRepositoryChangeBus.java
  1. … 12 more files in changeset.
MODE-2019 Implemented the JCR event functionality.

  1. … 14 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.

  1. … 58 more files in changeset.
MODE-2081 Changed the remaining files over to the ASL 2.0 license

    • -11
    • +11
    ./ClusteredRepositoryChangeBus.java
  1. … 1047 more files in changeset.
MODE-2148 Added checkstyle to our build, and corrected numerous potential problems or issues in the code. Also removed lots of meaningless JavaDoc

  1. … 366 more files in changeset.
MODE-1683 Simplified message consuming & receiving; updated delta reconciliation implementation and MapDB version to 0.9.8.

    • -29
    • +13
    ./ClusteredRepositoryChangeBus.java
  1. … 19 more files in changeset.
MODE-1683 Updated clustering and implemented delta-reconciliation mechanism for journals.

    • -266
    • +47
    ./ClusteredRepositoryChangeBus.java
  1. … 34 more files in changeset.
Corrected JavaDoc errors and compiler warnings.

  1. … 11 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.

    • -12
    • +8
    ./ClusteredRepositoryChangeBus.java
  1. … 3 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.

    • -3
    • +19
    ./ClusteredRepositoryChangeBus.java
  1. … 12 more files in changeset.
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.

    • -10
    • +49
    ./ClusteredRepositoryChangeBus.java
  1. … 2 more files in changeset.
MODE-1701 - Updated repository JGroups configuration, so that a classpath located XML file can also be specified.

    • -40
    • +26
    ./ClusteredRepositoryChangeBus.java
  1. … 9 more files in changeset.
MODE-1615 Changed WorkspaceCache to use in-memory Infinispan cache

The Infinispan cache uses eviction and expiration to limit the size of each workspace cache.

Also, the RepositoryConfiguration (and the JSON schema) were changed to allow specifying

an Infinispan cache configuration to be used for the workspace caches. (Tuning will likely be necessary,

since the cache size is highly a function of the number and size of the nodes.)

All unit and integration tests pass successfully.

  1. … 10 more files in changeset.
MODE-1618 - Fixed serialization issues when propagating clustering events

    • -50
    • +0
    ./ClusteredRepositoryChangeBus.java
  1. … 11 more files in changeset.
Corrected compiler and JavaDoc warnings.

  1. … 23 more files in changeset.
MODE-1558 -The workers of the RepositoryChangeBus should be stopped when the bus is shut down.

MODE-1558 - Updated the handling & releasing of thread pools. Subsystems (e.g. query, sequencing etc) should close their executors when shutdown is called on them.

  1. … 6 more files in changeset.