patch

Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
JCR-2195: Support Sybase 15.7

Problem analysis

* We had duplicate values in the lucene indexes because the query used to retrieve the data during the indexing process could retrieve the same nodes from one thread to another because the query doesn't support offset.

Fix description

* As the query doesn't support offset, the idea of the fix is to be able to indicate that offset is not supported by the database and if so we synchronize the data access to prevent getting several times the same nodes and then to prevent having several nodes in the lucene indexes

    • -0
    • +55
    ./1.15.6-GA/JCR-2195/readme.txt
JCR-2166: Commit documentation

    • -0
    • +57
    ./1.14.12-GA/JCR-2166/readme.txt
JCR-2051: Swap file is not removed after adding property to the DB

Problem analysis

* When the value storage is disabled and we set the value of a property using an InputStream, many files are created into the swap directory and they are never purged

Fix description

* We added a mechanism that remove the swap file as soon as the java object that refers to it is garbage collected and a mechanism that remove all the swap files of a workspace on startup

    • -0
    • +56
    ./1.14.12-GA/JCR-2051/readme.txt
JCR-2078: Propagation of permission from parent to children

Problem analysis

* On permission change as the sub node was already "exo:owneable", the JCR skipped the change in the JCR Cache on the sub node and its descendants.

Fix description

* Now the JCR only skips permission changes in the JCR cache if and only if the sub node has both "exo:owneable" and "exo:privilidgeable" or if it has one of them and the new ACL built from what is inherited from the parent node and what we have at node level is different from the old ACL

    • -0
    • +61
    ./1.14.11-GA/JCR-2078/readme.txt
Merge branch 'fix/1.14.11-GA/JCR-2034' into stable/1.14.x

    • -0
    • +63
    ./1.14.11-GA/JCR-2034/JCR-2034.txt
Merge branch 'fix/1.14.11-GA/JCR-2086' into stable/1.14.x

    • -0
    • +63
    ./1.14.11-GA/JCR-2086/JCR-2086.txt
JCR-1943: Repository removing failed because repository in use when forceRemove is true

Problem analysis

* Between clossing alive sessions and removing repository there is a bit of time when new sessions can be opened.

Fix description

* Remove repository despite of existance alive sessions.

    • -0
    • +77
    ./1.14.10-GA/JCR-1943/JCR-1943.patch
Revert "JCR-1943: Repository removing failed because repository in use when forceRemove is true"

This reverts commit 8bce3f609ca1787245778479741a111c843bd39d, reversing

changes made to 13f72a3a38f36973e7756d8bfa0d37378ebe5364.

  1. … 6 more files in changeset.
JCR-1943: Repository removing failed because repository in use when forceRemove is true

Problem analysis

- Between clossing alive sessions and removing repository there is a bit of time when new sessions can be opened.

Fix description

- Remove repository despite of existance alive sessions.

    • -0
    • +76
    ./1.14.10-GA/JCR-1943.txt
JCR-2015: ArrayIndexOutOfBoundsException when performing JCR query

Problem analysis

* For unintended reasons, document can't be found in Lucene index which causes ArrayIndexOutOfBoundsException

Problem descritpion

* If any document isn't found in lucene index (resulted -1 as document nubmer) then catch such usecase to avoid ArrayIndexOutOfBoundsException

    • -0
    • +63
    ./1.14.10-GA/JCR-2015.txt
  1. … 1 more file in changeset.
JCR-1952: Property not found exo:folksonomy make the parent folder empty

Problem analysis

* There was a bug in retrieving empty multi-valued property. Instead of returning empty string, PathNothFoundException was thrown.

Fix description

* Return empty string if multi-valued property has no values

    • -0
    • +85
    ./1.14.10-GA/JCR-1952.txt
  1. … 2 more files in changeset.
JCR-1888: remove try-finally block [revert]

This reverts commit c96016052f5b7439625339aacd43cd0ce2183d82.

    • -0
    • +76
    ./1.14.9-GA/JCR-1888/readme.txt
  1. … 1 more file in changeset.
JCR-1855:- Make compatible with previous behaviour of untrusted agent - Fix the way to get extension

    • -0
    • +77
    ./1.14.9-GA/JCR-1855/readme.txt
  1. … 2 more files in changeset.
JCR-1853: [Consistency Checker] PrimaryTypeNotFoundException when repairing data

Problem analysis

* Repairing tree where every node has no primaryType property need to use SQL query instead of using WorkspaceStorageConnection.delete(NodeData data) method

How is the problem fixed?

* Refactoring NodeRemover class to remove node(s) without primaryType

    • -0
    • +76
    ./1.14.9-GA/JCR-1853/readme.txt
  1. … 4 more files in changeset.
JCR-1832 : Anonymous user cannot access a public node

Problem analysis

* Import returns parent permissions, but own permissions were already defined.

How is the problem fixed?

* The own permissions were returned if it defined.

    • -0
    • +80
    ./1.14.9-GA/JCR-1832/readme.txt
  1. … 4 more files in changeset.
JCR-1827: Cannot access jcr:content after importing data

Fix description:

* Override method ImportNodeData.getACL() to fix the value of privilege and owner

This method returns the true permission from property exo:privilege and returns the true owner from property exo:owner if these properties are present in node.

    • -0
    • +90
    ./1.14.8-GA/JCR-1827/readme.txt
  1. … 2 more files in changeset.
JCR-1731: Delete doesn't need comment

    • -0
    • +75
    ./1.14.9-GA/JCR-1731/readme.txt
  1. … 1 more file in changeset.
JCR-1797: Remove backuped repository configuration after successfully save of new configuration in RepositoryServiceConfigurationImpl.retain

Problem analysis

* Every RepositoryServiceConfigurationImpl.retain() adds one more file of JCR configuration. The total files number may exceeds thousands.

Fix description

* Limit to total number of backup files

    • -0
    • +76
    ./1.14.9-GA/JCR-1797/readme.txt
  1. … 4 more files in changeset.
JCR-1807: Error during session.save() when global transaction marked for rollback

Problem analysis

- Error during session.save() when global transaction marked for rollback

Fix description

- Throw IllegalStateException if transaction is not in active state

    • -0
    • +80
    ./1.14.9-GA/JCR-1807/readme.txt
  1. … 2 more files in changeset.
JCR-1798 : The mechanism for removing JopRepositoryRestore from memory was added adn use it in RepositorycreationService. Remove BackupChainLog from memory once the repository has been successfully created from backup

Problem analysis

- After restore, RepositoryBackupChainLog and BackupChainLog were stored in memory in JobRepositoryRestore.

- After restore, JobRepositoryRestore was stored in memory, this need for getting status restore.

- All JobRepositoryRestore was stored in memory after restore.

How is the problem fixed?

- The BackupChainLog and RepositoryBackupChainLog are creating on demand in jobs for restore.

- The mechanism for removing JopRepositoryRestore from memory was added.

- This mechanism was used in RepositoryCreationService. RepositoryCreationService was used in Claud for creating repository from backup.

    • -0
    • +79
    ./1.14.9-GA/JCR-1798/readme.txt
  1. … 8 more files in changeset.
Revert "JCR-1731: JbossCache in CacheableLockManagerImpl doesn't load data from cache loader after second start repository (stop and start on repository) in "jbosscache-shareable" mode." due to regression with MySQL database (JCR-1814) This reverts commit f4fc080892c961031811ca9453fe1bdd5801b890.

  1. … 5 more files in changeset.
JCR-1792: RepositoryCheckController logs ClassNotFoundException in its report

Problem analysis

- Some factory classes are absent in classpath if JConsole application, therefore there was not possible to create initial context

Fix description:

- Pass datasource to LockConsistencyChecker and avoid looking up from initial context

    • -0
    • +82
    ./1.14.9-GA/JCR-1792/readme.txt
  1. … 5 more files in changeset.
JCR-1746 : Problem with lucene on backup creation was fixed.

Fix description:

- The mechanism to wait for completion of all running query before suspend SearchIndex was added.

    • -0
    • +75
    ./1.14.8-GA/JCR-1746/readme.txt
  1. … 2 more files in changeset.
JCR-1734 : Memory leak in operation Repository.stop

Problem analysis

* Multiple references to Workspace-related object still remained after stopping the workspace.

Fix description

* Close all sessions on workspace.stop();

* Properly remove JBoss Cache instances from internal maps of JBossCacheFactory when no more components use them;

* Unregister Indexer when stopping workspace.

* Take care of ISPN Cache instances. Properly instantiate them, remove from maps when no more components use them;

* Clean map of Indexer-s in AbstractCacheStore on stop;

* Release ISPN Cache instances when stopping the components using them;

* Remove cache listener in IndexerCacheStore.

* In addition fix for JCR-1721 integrated. Multiple RPC commands and listeners weren't unregistered and removed when stopping Workspace Container.

    • -0
    • +85
    ./1.14.8-GA/JCR-1734/readme.txt
  1. … 22 more files in changeset.
JCR-1731: JbossCache in CacheableLockManagerImpl doesn't load data from cache loader after second start repository (stop and start on repository) in "jbosscache-shareable" mode.

Problem analysis

* ControllerCacheLoader allows data loading only as startup. Since several repositories can share same JBC instance after repository restarting we can not see locks in cache lock.

Fix description

* Forcing lock loading in cache at CacheableLockManagerImpl startup

* Patch file: JCR-1731.patch

    • -0
    • +77
    ./1.14.8-GA/JCR-1731/readme.txt
  1. … 5 more files in changeset.
Revert "JCR-1731: JbossCache in CacheableLockManagerImpl is not load data from cache loader after second start repository (stop and start on repository) in "jbosscache-shareable" mode."

This reverts commit 466db533625b2327d775938394c59b95919aadbf. Because this commit leads to test fail in exogtn

  1. … 5 more files in changeset.
JCR-1731: JbossCache in CacheableLockManagerImpl is not load data from cache loader after second start repository (stop and start on repository) in "jbosscache-shareable" mode.

Problem analysis

* ControllerCacheLoader allows data loading only as startup. Since several repositories can share same JBC instance after repository restarting we can not see locks in cache lock.

Fix description

* ControllerCacheLoader allows data loading only as startup. Since several repositories can share same JBC instance after repository restarting we can not see locks in cache lock.

    • -0
    • +76
    ./1.14.8-GA/JCR-1731/readme.txt
  1. … 5 more files in changeset.
JCR-1727 CS-5632: Searching in cluster sometimes returns duplication of just modified nodes

Problem analysis

* When some JCR contents are modified, their index is deleted and re-created.

* Content is usually stored in persistent index on file system. Modifying it causes deletion of corresponding Lucene Document on file system and reindexing into the Volatile (in memory) index

* But actually, Lucene Document is not deleted from persistent index, it is only marked as deleted in memory buffer. This greatly improve the performance, but causes issues in clustered environment

* Thus non-coordinator cluster nodes doesn't see the fact that node deleted and query finds it in persistent and volatile indexes causing duplication.

Fix description:

* Issue was fixed by applying deletions on non-coordinator nodes too, but in memory only. Those deletions are cleaned once coordinator flushes its buffers.

    • -0
    • +92
    ./1.14.8-GA/JCR-1727/readme.txt
  1. … 6 more files in changeset.
JCR-1725: isSuspended filed in CacheableWSDataManager, SeachManager and SearchIndex must be AtomicBoolean, index merger must be disposed after flush on close

Problem analysis

- When calling MultiIndex.close with non empty volatile index, it invokes flush() to store changes on file system.

But Merger already disposed and this causes exception. In addition, some flags and fields in Index and CacheableWorkspaceDataManager can be accessed within multiple threads

but they doesn't guarantee thread safeness.

Fix description

- Merger is disposed after calling flush() in MultiIndex.close()

and AtomicBoolean and AtomicReference objects are used to ensure Thread-safeness in mentioned components of JCR.

    • -0
    • +78
    ./1.14.8-GA/JCR-1725/readme.txt
  1. … 4 more files in changeset.
JCR-1729: Remove workaround ConcurrentHashMap

Problem analysis

- ConcurrentHashMap is caused the ConcurrentModficationException

How is the problem fixed?

- Using iterator for removing items and replacing ConcurrentHashMap by HashMap

    • -0
    • +79
    ./1.14.8-GA/JCR-1729/readme.txt
  1. … 1 more file in changeset.