I am using Nexus version 3.70.1-02
which is the last version that supports OrientDB. It is deployed on a k8s cluster as a pod. I have been facing multiple issues ever since I tried to fetch a statistics about sizes of different repositories hosted on the nexus using kubectl exec -it -u root <nexus-pod>
and executed following commands:
java -jar /opt/sonatype/nexus/lib/support/nexus-orient-console.jar
> CONNECT PLOCAL:/nexus-data/db/component admin admin
> select bucket.repository_name as repository,sum(size) as bytes from asset group by bucket.repository_name order by bytes desc limit 10;
This command worked as expected but ever since I am facing various transaction errors while reading/writing or even fetching metadata from various repos. I host APT, docker, raw repos on Nexus
com.orientechnologies.orient.core.db.OPartitionedDatabasePool$DatabaseDocumentTxPooled - $ANSI{green {db=component}} Error on transaction commit `570FD604`
com.orientechnologies.orient.core.exception.OStorageException: Error during transaction commit
DB name="component"
First I sensed something wrong with permissions as persistent volume in on the host machine so I did chmod -R 775 <nexus-persistent-location>
and chown 200:200 <nexus-persistent-location>
but this didn’t solve the problem.
Every now and then I have to REBUILD the indices using REBUILD INDEX *;
command and then delete nexus pod for k8s to create a new one and that works for some time(4-7hrs). Any clues what may be wrong here.
Every now and then I keep getting this error while accessing hosted APT repo using APT client
org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeCollisionException: Node already has an asset
DB name="component"