Unmapped exception when creating resources

5 views
Skip to first unread message

Ralf Claußnitzer

unread,
Sep 2, 2025, 9:04:05 AM (3 days ago) Sep 2
to fedor...@googlegroups.com

Hi,

my Fedora 6 (6.5.0) just started to refuse creating objects with an unmapped OCFL Exception. Has anyone seen something like this?

The problem seems to be that the resource exists, but "but it does not contain a root Fedora resource".

INFO 14:52:20.407 [qtp143110009-33734] (FedoraLdp) PUT to create resource with ID: qucosa/qucosa-72877
WARN 14:52:20.414 [qtp143110009-33734] (WildcardExceptionMapper) Unmapped exception
java.lang.IllegalStateException: OCFL object info:fedora/qucosa/qucosa-72877 exists but it does not contain a root Fedora resource
        at org.fcrepo.storage.ocfl.DefaultOcflObjectSession.lambda$loadRootResourceId$15(DefaultOcflObjectSession.java:788)
        at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$13(BoundedLocalCache.java:2457)
        at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
        at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2455)
        at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2438)
        at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:107)
        at com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
        at org.fcrepo.storage.ocfl.cache.CaffeineCache.get(CaffeineCache.java:27)
        at org.fcrepo.storage.ocfl.DefaultOcflObjectSession.loadRootResourceId(DefaultOcflObjectSession.java:778)
        at org.fcrepo.storage.ocfl.DefaultOcflObjectSession.<init>(DefaultOcflObjectSession.java:142)
        at org.fcrepo.storage.ocfl.DefaultOcflObjectSessionFactory.newSession(DefaultOcflObjectSessionFactory.java:92)
        at org.fcrepo.persistence.ocfl.impl.OcflPersistentStorageSession.lambda$findOrCreateSession$1(OcflPersistentStorageSession.java:193)
        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
        at org.fcrepo.persistence.ocfl.impl.OcflPersistentStorageSession.findOrCreateSession(OcflPersistentStorageSession.java:192)
        at org.fcrepo.persistence.ocfl.impl.CreateRdfSourcePersister.persist(CreateRdfSourcePersister.java:64)
        at org.fcrepo.persistence.ocfl.impl.OcflPersistentStorageSession.persist(OcflPersistentStorageSession.java:168)
        at org.fcrepo.persistence.ocfl.impl.OcflPersistentStorageSessionMetrics.lambda$persist$0(OcflPersistentStorageSessionMetrics.java:56)
        at io.micrometer.core.instrument.composite.CompositeTimer.record(CompositeTimer.java:79)
        at org.fcrepo.persistence.ocfl.impl.OcflPersistentStorageSessionMetrics.persist(OcflPersistentStorageSessionMetrics.java:55)
        at org.fcrepo.kernel.impl.services.CreateResourceServiceImpl.perform(CreateResourceServiceImpl.java:195)
        at org.fcrepo.http.api.FedoraLdp.lambda$createOrReplaceObjectRdf$9(FedoraLdp.java:575)
        at org.fcrepo.common.db.DbTransactionExecutor.lambda$doInTx$3(DbTransactionExecutor.java:79)
        at org.springframework.transaction.support.TransactionOperations.lambda$executeWithoutResult$0(TransactionOperations.java:68)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at org.springframework.transaction.support.TransactionOperations.executeWithoutResult(TransactionOperations.java:67)
        at org.fcrepo.common.db.DbTransactionExecutor.doInTx(DbTransactionExecutor.java:78)
        at org.fcrepo.common.db.DbTransactionExecutor.lambda$doInTxWithRetry$2(DbTransactionExecutor.java:62)
        at net.jodah.failsafe.Functions.lambda$toSupplier$10(Functions.java:262)
        at net.jodah.failsafe.Functions.lambda$get$0(Functions.java:48)
        at net.jodah.failsafe.RetryPolicyExecutor.lambda$supply$0(RetryPolicyExecutor.java:66)
        at net.jodah.failsafe.Execution.executeSync(Execution.java:128)
        at net.jodah.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:379)
        at net.jodah.failsafe.FailsafeExecutor.run(FailsafeExecutor.java:212)
        at org.fcrepo.common.db.DbTransactionExecutor.doInTxWithRetry(DbTransactionExecutor.java:61)
        at org.fcrepo.http.api.FedoraBaseResource.doInDbTxWithRetry(FedoraBaseResource.java:126)
        at org.fcrepo.http.api.FedoraLdp.createOrReplaceObjectRdf(FedoraLdp.java:571)
...


Cheers,
Ralf


Reply all
Reply to author
Forward
0 new messages