Unable to bootstrap OSS 3.68.0-04 (but 3.67.1 worked)

In my homelab setup I’m installing Nexus OSS using the following statefulset.yaml and using an NFS share (with userid squashing) for the data volume. What I’ve found is that I attempt a fresh install no data using sonatype/nexus3:latest (currently OSS 3.68.0-04) the install falls into an endless loop of errors like:

2024-05-11 19:44:02,579-0400 INFO [ForkJoinPool.commonPool-worker-3] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - Storage ‘plocal:/nexus-data/db/analytics’ is opened under OrientDB distribution : 2.2.37 (build a7541e7ceeabf592dd9a7b2928b6c023cbc73193, branch 2.2.x)
2024-05-11 19:44:02,615-0400 INFO [ForkJoinPool.commonPool-worker-0] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - Storage ‘plocal:/nexus-data/db/config’ is opened under OrientDB distribution : 2.2.37 (build a7541e7ceeabf592dd9a7b2928b6c023cbc73193, branch 2.2.x)
2024-05-11 19:44:02,660-0400 ERROR [ForkJoinPool.commonPool-worker-2] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage - Exception 5F52F931 in storage plocal:/nexus-data/db/component: 2.2.37 (build a7541e7ceeabf592dd9a7b2928b6c023cbc73193, branch 2.2.x)
com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage ‘/nexus-data/db/component’ with mode=rw
DB name=“component”
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.open(OAbstractPaginatedStorage.java:323)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.open(ODatabaseDocumentTx.java:259)
at org.sonatype.nexus.orient.DatabaseManagerSupport.connect(DatabaseManagerSupport.java:178)
at org.sonatype.nexus.orient.DatabaseManagerSupport.createInstance(DatabaseManagerSupport.java:312)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
at org.sonatype.nexus.orient.DatabaseManagerSupport.instance(DatabaseManagerSupport.java:289)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
Caused by: com.orientechnologies.orient.core.exception.OStorageException: File with name ‘ouser.pcl’ does not exist in storage ‘component’
DB name=“component”
at com.orientechnologies.orient.core.storage.cache.local.OWOWCache.loadFile(OWOWCache.java:475)
at com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurableComponent.openFile(ODurableComponent.java:180)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.open(OPaginatedCluster.java:217)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.openClusters(OAbstractPaginatedStorage.java:387)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.open(OAbstractPaginatedStorage.java:290)
… 14 common frames omitted

But if I use the sonatype/nexus3:3.67.1 instead I can get through an install then shut down and switch to the latest image and the system works fine.

So it appears that the latest docker image has a regression error that it can’t bootstrap install itself. Has anyone else experienced anything similar?

Here’s the statefulset.yaml that I came up with for the install:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nexus
  namespace: services
  labels:
    app.kubernetes.io/name: nexus
spec:
  serviceName: "nexus"
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: nexus
  template:
    metadata:
      labels:
        app.kubernetes.io/name: nexus
    spec:
      securityContext:
        fsGroup: 200
        fsGroupChangePolicy: OnRootMismatch
      nodeSelector:
        kubernetes.io/arch: amd64
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 1
              preference:
                matchExpressions:
                  - key: wired
                    operator: In
                    values:
                      - "true"
      containers:
        - name: nexus
          #image: sonatype/nexus3:3.67.1
          image: sonatype/nexus3:latest
          securityContext:
            runAsUser: 200
          imagePullPolicy: Always
          livenessProbe:
            httpGet:
              path: /
              port: 8081
              scheme: HTTP
            initialDelaySeconds: 180
            timeoutSeconds: 1
          readinessProbe:
            httpGet:
              path: /
              port: 8081
              scheme: HTTP
            initialDelaySeconds: 20
            timeoutSeconds: 1
          env:
            - name: TZ
              value: "America/New_York"
            - name: NEXUS_SECURITY_RANDOMPASSWORD
              value: "false"
          resources:
            limits:
              memory: "8Gi"
              cpu: "4"
            requests:
              memory: "4Gi"
              cpu: "4"
          volumeMounts:
            - name: nexus-data
              mountPath: /nexus-data
      volumes:
        - name: nexus-data
          nfs:
            server: my.nas.ip
            path: /volume1/kubernetes/nexus-data