Re: Versioning lock errors in 5.x and 6.x

Joe Wicentowski <[email protected]> Tue, 13 May 2025 08:42:40 -0400
Newsgroups gmane.text.xml.exist
Message-ID <CAHwerk3vLV-sf=mGYaQx7p1gkhe4sjFRpKJ4FYjFhHEvUYGAKA@mail.gmail.com>
Hi Felix,

The versioning module does appear to have a number of known issues, listed
at https://github.com/eXist-db/xquery-versioning-module/issues, including
compatibility issues with eXist 5.2.0. I'd welcome you to review those and
see if they match your issue or if yours is new/different. If they match
yours, you could add a note listing your eXist version(s) as still
affected. If your issue is different, please create a new issue reporting
it. It would be great to restore compatibility with the current version of
eXist.

Joe

On Fri, May 9, 2025 at 12:18 PM felix jeneau <[email protected]>
wrote:

> I'm attempting to use the 'Versioning' package and am running into, what
> appears to be, locking issues.
>
> In eXide, the very first save of an XML doc errors out and shows this in a
> popup:
>
> 'void org.exist.dom.persistent.DocumentImpl.(org.exist.storage.BrokerPool,
> org.exist.collections.Collection, org.exist.xmldb.XmldbURI)'
>
>
>
> eXist then becomes unresponsive and requires a restart.  I can see in
> Monex, a bunch of 'waiting for' -> 'COLLECTION ( WRITE_LOCK )' under
> 'Waiting Threads.'
>
>
> Dunno if it's related, but under 'Active Threads,' I see a stacktrace:
>
> [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
> [email protected]
> /java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
> [email protected]
> /java.util.concurrent.locks.AbstractQueuedLongSynchronizer.acquire(AbstractQueuedLongSynchronizer.java:348)
> [email protected]
> /java.util.concurrent.locks.AbstractQueuedLongSynchronizer.acquireShared(AbstractQueuedLongSynchronizer.java:659)
>
> uk.ac.ic.doc.slurp.multilock.MultiLock.intentionReadLock(MultiLock.java:501)
> org.exist.storage.lock.LockManager.lock(LockManager.java:293)
>
> org.exist.storage.lock.LockManager.acquirePathReadLock(LockManager.java:267)
>
> org.exist.storage.lock.LockManager.acquireCollectionReadLock(LockManager.java:219)
> org.exist.storage.NativeBroker.readLockCollection(NativeBroker.java:1837)
> org.exist.storage.NativeBroker.openCollection(NativeBroker.java:869)
> ...
>
>
> After killing the process and restarting, if I try to save a doc in eXide,
> the popup says:
>
> 'org.exist.storage.lock.Lock org.exist.collections.Collection.getLock()'
>
> and Monex shows all of the stuff mentioned above.
>
>
>
> exist.log, doesn't show any errors.  Just:
>
> DEBUG (TemporaryFileManager.java [returnTemporaryFile]:135) - Deleted
> temporary file:
> /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/exist-db-temp-file-manager-6286306081099162350/exist-db-temp-13573353218066578415.tmp
> DEBUG (Txn.java [close]:211) - Resetting transaction state for next use.
> DEBUG (MutableCollection.java [checkPermissionsForAddDocument]:1697) -
> Found old doc 3074
> DEBUG (Txn.java [close]:190) - Transaction was not committed or aborted,
> auto aborting!
> WARN  (TransactionManager.java [close]:421) - Transaction was not
> committed or aborted, auto aborting!
> DEBUG (TransactionManager.java [doAbortTransaction]:400) - Aborted
> transaction: 891
>
>
> Nothing in the two logs associated with locking.
>
>
> (I did modify log4j2.xml to also log for the versioning package, but
> didn't see anything of relevance)
>
>
>
> These are both new instances of eXist.  (5.5.1 and 6.4.0). The file is
> only opened in a single tab in eXide, so there shouldn't be an issue with
> multiple users accessing the same file.
>
>
>
> Any ideas?  Is this possibly a bug with the package?
>
>
>
> (side note, installing the versioning package directly doesn't seem to
> work properly.  After installing it, regardless of restart, I kept getting
> missing-class errors for VersioningModule and VersioningFilter.  I had to
> copy the jars over to the lib folder, update startup.xml to include the
> dependencies, and add the module to conf.xml)
> _______________________________________________
> Exist-open mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/exist-open
>

_______________________________________________
Exist-open mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/exist-open