Uploaded image for project: 'Bitbucket Server'
  1. Bitbucket Server
  2. BSERV-12732

Fork syncing fails with an exception during rolling upgrade

    XMLWordPrintable

    Details

      Description

      Issue Summary

      While performing rolling upgrade, auto fork syncing fails when system is in Mixed mode i.e. nodes have different versions.

      Steps to Reproduce

      1. Given a cluster with 2 nodes having version 7.9.0
      2. Create a repository, push some changes in default branch.
      3. Create a fork of this repository.
      4. Create a branch out of default branch in parent repository and push some commits.
      5. Go to Rolling upgrade page and enable upgrade mode.
      6. Upgrade one of the nodes to 7.9.1 and leave the other one at older version.
      7. Merge the branch created in step 4 to default branch.
      8. Go to child repository and check commits in default branch.

      Expected Results

      New commits from the merged branch are shown.

      Actual Results

      Default branch in child repository still has old state before merging the branch. The below exception is noticed in the logs - 

      [INFO] 2021-01-07 18:26:06,276 ERROR [hz.hazelcast.partition-operation.thread-0]  c.h.s.i.o.impl.OperationRunnerImpl [localhost]:5702 [mgoyal2] [3.12.9] Problem while reading Externalizable class: com.atlassian.stash.internal.repository.sync.auto.AutoRefSyncRequest, exception: java.lang.ClassNotFoundException: com.atlassian.stash.internal.repository.sync.auto.AutoRefSyncRequest
      [INFO] com.hazelcast.nio.serialization.HazelcastSerializationException: Problem while reading Externalizable class: com.atlassian.stash.internal.repository.sync.auto.AutoRefSyncRequest, exception: java.lang.ClassNotFoundException: com.atlassian.stash.internal.repository.sync.auto.AutoRefSyncRequest
      [INFO] 	at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$ExternalizableSerializer.read(JavaDefaultSerializers.java:159)
      [INFO] 	at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$ExternalizableSerializer.read(JavaDefaultSerializers.java:135)
      [INFO] 	at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
      [INFO] 	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:269)
      [INFO] 	at com.atlassian.hazelcast.serialization.OsgiSafeStreamSerializer.safeReadObject(OsgiSafeStreamSerializer.java:134)
      [INFO] 	at com.atlassian.hazelcast.serialization.OsgiSafeStreamSerializer.read(OsgiSafeStreamSerializer.java:107)
      [INFO] 	at com.atlassian.hazelcast.serialization.OsgiSafeStreamSerializer.read(OsgiSafeStreamSerializer.java:63)
      [INFO] 	at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
      [INFO] 	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:269)
      [INFO] 	at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:574)
      [INFO] 	at com.atlassian.stash.internal.concurrent.SubmitTaskToBucketProcessor.readData(SubmitTaskToBucketProcessor.java:78)
      [INFO] 	at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.java:160)
      [INFO] 	at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:106)
      [INFO] 	at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:51)
      [INFO] 	at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
      [INFO] 	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:269)
      [INFO] 	at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:574)
      [INFO] 	at com.hazelcast.map.impl.operation.EntryOperation.readInternal(EntryOperation.java:263)
      [INFO] 	at com.hazelcast.spi.Operation.readData(Operation.java:728)
      [INFO] 	at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.java:160)
      [INFO] 	at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:106)
      [INFO] 	at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:51)
      [INFO] 	at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
      [INFO] 	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:187)
      [INFO] 	at com.hazelcast.spi.impl.NodeEngineImpl.toObject(NodeEngineImpl.java:324)
      [INFO] 	at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:397)
      [INFO] 	at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:153)
      [INFO] 	at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:123)
      [INFO] 	at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:110)
      

      Workaround

      After the upgrade is finalized, push one or more change in the repository so that auto ref syncing process kicks in.

       

       

        Attachments

          Activity

            People

            Assignee:
            mgoyal2@atlassian.com Manish
            Reporter:
            mgoyal2@atlassian.com Manish
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Backbone Issue Sync

                • Synchronized with BBSJAC
                  Synced with:
                  BBSJAC-621
                  Issue sync status:
                  UP TO DATE
                  Last received:
                  Last sent: