Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
MODE-2615 Fixes the handling of multi-byte UTF-8 characters by the BSON reader

    • -0
    • +25
    ./internal/document/BsonReadingAndWritingTest.java
  1. … 1 more file in changeset.
MODE-2562 Fixes the parsing of backslash characters by the JsonReader

    • -8
    • +9
    ./internal/document/BasicArrayTest.java
    • -11
    • +13
    ./internal/document/BasicDocumentTest.java
  1. … 4 more files in changeset.
MODE-2527 Renames the schematic package to org.modeshape and removes all ISPN related code.

    • -123
    • +0
    ./internal/document/AbstractExternalizerTest.java
    • -68
    • +0
    ./internal/document/BasicArrayTest.java
    • -79
    • +0
    ./internal/document/BasicDocumentTest.java
    • -563
    • +0
    ./internal/document/BsonReadingAndWritingTest.java
    • -231
    • +0
    ./internal/document/JsonReaderTest.java
    • -115
    • +0
    ./internal/document/JsonWriterTest.java
  1. … 299 more files in changeset.
MODE-2546 Implements locking at a repository level The repository in ModeShape 5 will be responsible to locking all changed nodes within a transaction and then making sure it unlocks them when the transaction completes. This is contrast to ModeShape 3 and 4 who relied on the ISPN to handle this aspect. This commit also removes all locking from ISPN in order to validate that the new approach work. One consequence of the new approach is that user-transactions crossing over multiple threads will not work anymore (see https://issues.jboss.org/browse/MODE-2495).

    • -79
    • +0
    ./internal/CacheSchematicDbTest.java
    • -359
    • +0
    ./SchematicDbConcurrentTest.java
    • -149
    • +0
    ./SchematicDbWithLevelDbTest.java
  1. … 37 more files in changeset.
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. … 153 more files in changeset.
MODE-1460 Changed the code (as per ISPN-1987) to use a decorated cache which suppresses return values for the put & replace methods for which the ModeShape code doesn't care about the return value.

  1. … 3 more files in changeset.
MODE-2423 Moved to ISPN 7.2.0.CR1

  1. … 56 more files in changeset.
MODE-2437 Removed Infinispan test-jar dependencies and reduced as much as possible the regular ISPN API dependencies throughout the code.

  1. … 53 more files in changeset.
MODE-2430 Fixed BsonDataInput stream truncating strings.

    • -1
    • +20
    ./internal/document/BsonReadingAndWritingTest.java
  1. … 4 more files in changeset.
Corrected numerous Java and JavaDoc warnings and technical errors.

  1. … 36 more files in changeset.
MODE-2280 Created a couple of test cases for SchematicDB which show that the problem lies either with Infinispan or with our Schematic-related code.

    • -0
    • +357
    ./SchematicDbConcurrentTest.java
  1. … 1 more file in changeset.
MODE-2323 Removed the proxy layer and delta write functionality in Schematic

ModeShape's is no longer using Infinispan in ways where these pieces of functionality are useful.

Removing them should simplify the logic to represent more of what we're actually doing.

    • -24
    • +16
    ./SchematicDbWithLevelDbTest.java
    • -62
    • +7
    ./internal/CacheSchematicDbTest.java
    • -1
    • +1
    ./internal/document/JsonWriterTest.java
    • -148
    • +0
    ./internal/document/OperationExternalizerTest.java
  1. … 42 more files in changeset.
MODE-2317 Updated the JsonReader to support regular character sequences, even if they begin with \u.

    • -0
    • +11
    ./internal/document/JsonReaderTest.java
  1. … 3 more files in changeset.
MODE-2317 Updated the JsonReader to support regular character sequences, even if they begin with \u.

Conflicts:

modeshape-schematic/src/test/java/org/infinispan/schematic/internal/document/JsonReaderTest.java

    • -0
    • +11
    ./internal/document/JsonReaderTest.java
  1. … 3 more files in changeset.
MODE-2309 Corrected handling of non-ASCII characters when reading and writing JSON via binary streams by enforcing UTF-8

    • -0
    • +18
    ./internal/document/JsonWriterTest.java
  1. … 3 more files in changeset.
MODE-2309 Corrected handling of non-ASCII characters when reading and writing JSON via binary streams by enforcing UTF-8

    • -0
    • +18
    ./internal/document/JsonWriterTest.java
  1. … 3 more files in changeset.
MODE-2309 Corrected reading and writing JSON files when escaped characters are used.

This fixes the backup and restore issue. Note that ModeShape uses BSON when storing nodes in Infinispan, so this

should not affect persistent storage in a cache store. ModeShape uses JSON for the file connector (extra properties)

and for the REST service; neither of these should be impacted negatively by this change, though like the backup

and restore this change should fix any as-of-yet unseen issues related to escaped characters.

Note that it is not possible to just update the Restore functionality, so with this change new backups will have

to be created. This change does need to be applied to the 3.x branch as well.

    • -3
    • +22
    ./internal/document/JsonReaderTest.java
    • -0
    • +97
    ./internal/document/JsonWriterTest.java
  1. … 6 more files in changeset.
MODE-2309 Corrected reading and writing JSON files when escaped characters are used.

This fixes the backup and restore issue. Note that ModeShape uses BSON when storing nodes in Infinispan, so this

should not affect persistent storage in a cache store. ModeShape uses JSON for the file connector (extra properties)

and for the REST service; neither of these should be impacted negatively by this change, though like the backup

and restore this change should fix any as-of-yet unseen issues related to escaped characters.

Note that it is not possible to just update the Restore functionality, so with this change new backups will have

to be created. This change does need to be applied to the 3.x branch as well.

Conflicts:

modeshape-jcr/src/test/java/org/modeshape/jcr/RepositoryBackupAndRestoreTest.java

modeshape-schematic/src/test/java/org/infinispan/schematic/internal/document/JsonReaderTest.java

    • -2
    • +37
    ./internal/document/JsonReaderTest.java
    • -0
    • +97
    ./internal/document/JsonWriterTest.java
  1. … 6 more files in changeset.
MODE-2214 Fixed JSON array parsing and corrected invalid files use throughout our tests.

    • -0
    • +20
    ./internal/document/JsonReaderTest.java
  1. … 5 more files in changeset.
Corrected compiler and JavaDoc warnings

    • -3
    • +5
    ./internal/document/JsonReaderTest.java
  1. … 25 more files in changeset.
MODE-2164 Added test to validate System.env() properties are substituted.

    • -0
    • +5
    ./internal/schema/SystemPropertyFactoryTest.java
  1. … 1 more file in changeset.
MODE-2082 Added support for single-line comments in JSON files.

    • -1
    • +50
    ./internal/document/JsonReaderTest.java
  1. … 5 more files in changeset.
MODE-2066 Migrated to Infinispan 6.0.1 and JGroups 3.4.1. Beside the changes involving package migrations and API changes, because the BDB and JDBM cachestore have not been ported to 6.x yet, all references (only unit tests) to those cache stores were removed and replaced with LevelDB. The old FileCacheStore has been discontinued and therefore replaced with SingleFileStore.

    • -157
    • +0
    ./SchematicDbWithBerkleyTest.java
  1. … 96 more files in changeset.
MODE-2081 Changed the license for ModeShape code to ASL 2.0.

    • -0
    • +15
    ./internal/CacheSchematicDbTest.java
    • -18
    • +10
    ./internal/document/AbstractExternalizerTest.java
    • -0
    • +15
    ./internal/document/BasicArrayTest.java
    • -0
    • +15
    ./internal/document/BasicDocumentTest.java
    • -16
    • +10
    ./internal/document/BsonReadingAndWritingTest.java
    • -18
    • +10
    ./internal/document/DocumentExternalizerTest.java
  1. … 106 more files in changeset.
MODE-2074 Fixed the usage of CharSet decoders/encoders by the BsonDataInput/Output classes. Also, fixed the algorithm which reads Bson strings, in the case when those strings are larger than the default buffer size.

    • -1
    • +65
    ./internal/document/BsonReadingAndWritingTest.java
  1. … 4 more files in changeset.
Schematic improvement to add ability to merge documents

    • -0
    • +50
    ./internal/document/DocumentEditorTest.java
  1. … 6 more files in changeset.
Corrected compiler warnings

  1. … 10 more files in changeset.
MODE-1745 Corrections to Schematic's state transfer

Several issues related to state-transfer were identified and corrected within Schematic's DeltaAware implementation. These primarily dealt with using diff-based deltas when using Infinispan 5.2.0 (tested with Beta6 and later), the implementations of the two deltas (and related classes), and how merges are made, and removal of the NullDelta class.

With these changes, the test projects in MODE-1745 and MODE-1746 work better. There still are problems with state transfer during repository initialization. See MODE-1745 for details.

  1. … 10 more files in changeset.
MODE-1733 Changed SchematicEntryDelta behavior

The original problem is that the delta is being merged to a null entry

reference when the entry has been evicted from the cache. The correct

behavior would be to look up the persisted entry and merge the detal

with that. Infinispan is not behaving correctly.

This problem appears to be very similar to ISPN-2095, though we're

not using AtomicHashMap but have our own DeltaAware implementation

(called SchematicEntry).

The fix for ISPN-2095 involved changing AtomicHashMapProxy to use a

specific "DELTA_WRITE" cache flag that was added in Infinispan

5.1.6.FINAL. That means we don't have access to the fix in 5.1.2.FINAL,

so we need to provide an alternative solution for pre-5.1.6.FINAL releases.

The CacheContext now attempts to set that flag only when we're using

Infinispan 5.1.6 or later (e.g., if we can find the "DELTA_WRITE" flag),

but the changes still don't seem to correct the behavior with

Infinispan 5.1.2.FINAL, 5.1.6.FINAL or 5.1.8.Final. Even if it

worked on 5.1.6 or later, we would still have the issue when using

5.1.2.FINAL (which is all AS7.1.1 installations).

We need a solution that works with Infinispan 5.1.2 or later.

One option was to make the SchematicEntryLiteral instances no longer

implement DeltaAware. However, that means that we'd be changing the

class for the values we're storing in Infinispan. It also means that

we could not use DeltaAware in some environments (for example, when

we're using newer versions of Infinispan).

A better approach taken with this commit is to use different Delta

implementations depending upon the configuration. With this commit

there are two Delta implementations: one that works like before by

recording the Operations used to manipulate the documents, and a new

one that simply contains the whole document.

The benefit of this approach is that we can then choose which Delta

implementation we use based upon the Infinispan configuration and version:

- In local (non-clustered) caches, we actually don't need to compute a

Delta. In this case we can use the whole document Delta and a

different DocumentEditor that doesn't actually create any operations.

- In clustered caches that do not use eviction, we can use the

diff-based Delta with an editor that does calculate the change

operations. These Delta instances are correctly merged.

- In clustered caches that do use eviction, we need to use the

whole-document Delta. And since this delta doesn't record operations,

we could use a DocumentEditor that doesn't actually create operations.

All tests (including several new clustering tests) pass with these

changes. Additionally, the clustering test attached by the reporter

to MODE-1733 also passes with these changes, when using either

Infinispan 5.1.2.FINAL or 5.1.8.Final.

  1. … 13 more files in changeset.
MODE-1734 Corrected 'write-skew' error in Schematic

Added logic to explicitly lock the entry before a copy of the state

is made. Infinispan only allows explicit locks to be used when

PESSIMISTIC locking is enabled, and throws an exception (and rolls

back the transaction) when OPTIMISITIC locking is enabled.

Therefore, the locking is performed conditionally based upon the

cache configuration, though it determined efficiently at startup of

SchematicDb rather than each time a proxy is needed.

See MODE-1734 for much more detail about write-skew and why this

solution works.

With these changes, the concurrent modification tests added in the

previous commit(s) all pass.

  1. … 8 more files in changeset.