Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-9799

Search indexing fails when committing a typechange

    XMLWordPrintable

Details

    Description

      Summary

      When committing a git typechange search indexing for the repository to which this change was committed to starts failing. Once it reaches the maximum retries the repository will be blacklisted and search indexing will stop indefinitely.

      Steps to Reproduce

      1. Push a repository
      2. Wait for it to be indexed (code is searchable)
      3. Change a file in the repository to a symbolic link and commit the change. Push.

      Expected Results

      The change is indexed

      Actual Results

      The below exception is thrown in the atlassian-bitbucket.log file:

      2016-12-07 23:53:53,722 ERROR [search-indexing:thread-1]  c.a.b.s.i.i.e.DefaultIndexEventWorker Indexing - Failed for repository ISS/global-proxy (id: 5875) with error: Indexing for repository with id 5875 failed and should be retried
      com.atlassian.bitbucket.search.indexer.exceptions.IndexException: Indexing for repository with id 5875 failed and should be retried
              at com.atlassian.bitbucket.search.indexer.internal.DefaultIndexService.lambda$updateIndexStateForError$12(DefaultIndexService.java:360) ~[bitbucket-search-index-3.0.4.jar:na]
              at com.atlassian.bitbucket.search.indexer.internal.DefaultIndexService$$Lambda$1855/250167376.call(Unknown Source) ~[na:na]
              at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:54) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$1.onNext(OperatorOnErrorResumeNextViaFunction.java:111) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.emitScalar(OperatorMerge.java:477) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.tryEmit(OperatorMerge.java:435) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:228) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:142) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:54) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.emitScalar(OperatorMerge.java:477) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.tryEmit(OperatorMerge.java:435) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:228) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:142) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:54) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OnSubscribeToObservableFuture$ToObservableFuture.call(OnSubscribeToObservableFuture.java:75) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OnSubscribeToObservableFuture$ToObservableFuture.call(OnSubscribeToObservableFuture.java:43) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:162) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:154) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:162) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:154) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:162) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:154) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:162) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:154) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:162) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:154) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:162) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:154) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:162) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable$2.call(Observable.java:154) [bitbucket-search-index-3.0.4.jar:na]
              at rx.Observable.unsafeSubscribe(Observable.java:8171) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:232) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:142) [bitbucket-search-index-3.0.4.jar:na]
              at rx.internal.operators.OperatorMapNotification$SingleEmitter.drain(OperatorMapNotification.java:206) [
      ......
      -3.0.4.jar:na]
              at com.atlassian.bitbucket.search.internal.indexing.event.IndexEventQueueProcessor$$Lambda$320/1513031166.call(Unknown Source) [bitbucket-search-index-3.0.4.jar:na]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_25]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_25]
              at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
              ... 1 frame trimmed
      Caused by: com.atlassian.bitbucket.ServerException: An error occurred while executing an external process: Unexpected change type UNKNOWN for file with path: certs_prod.txt
              at com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler.evaluateThrowable(GitCommandExitHandler.java:113) ~[na:na]
              at com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler.onCancel(GitCommandExitHandler.java:50) ~[na:na]
              at com.atlassian.bitbucket.scm.BaseCommand.callExitHandler(BaseCommand.java:143) ~[bitbucket-spi-4.12.0-rc4.jar:na]
              at com.atlassian.bitbucket.scm.BaseCommand$CommandFuture.internalGet(BaseCommand.java:280) ~[bitbucket-spi-4.12.0-rc4.jar:na]
              at com.atlassian.bitbucket.scm.BaseCommand$CommandFuture.get(BaseCommand.java:244) ~[bitbucket-spi-4.12.0-rc4.jar:na]
              at com.atlassian.bitbucket.scm.BaseCommand.call(BaseCommand.java:83) ~[bitbucket-spi-4.12.0-rc4.jar:na]
              at com.atlassian.stash.internal.scm.git.command.SimpleGitCommand.configureAndCall(SimpleGitCommand.java:84) ~[na:na]
              at com.atlassian.stash.internal.scm.git.bulk.BulkContentCommand.diffTree(BulkContentCommand.java:160) ~[na:na]
              at com.atlassian.stash.internal.scm.git.bulk.BulkContentCommand.bulkContentIncremental(BulkContentCommand.java:129) ~[na:na]
              at com.atlassian.stash.internal.scm.git.bulk.BulkContentCommand.bulkContent(BulkContentCommand.java:82) ~[na:na]
              at com.atlassian.stash.internal.scm.git.bulk.BulkContentCommand.call(BulkContentCommand.java:70) ~[na:na]
              at com.atlassian.stash.internal.scm.git.bulk.BulkContentCommand.call(BulkContentCommand.java:40) ~[na:na]
              at com.atlassian.bitbucket.search.internal.indexing.content.ServerContentService.streamContent(ServerContentService.java:161) ~[bitbucket-search-index-3.0.4.jar:na]
              at com.atlassian.bitbucket.search.internal.indexing.content.ServerContentService.lambda$doStreamFilesFromRepository$3(ServerContentService.java:118) ~[bitbucket-search-index-3.0.4.jar:na]
              at com.atlassian.bitbucket.search.internal.indexing.content.ServerContentService$$Lambda$1438/1296489727.call(Unknown Source) ~[na:na]
      

      Workaround

      Manually reindex the repository by using the REST endpoint:

      curl -XPOST -H 'Content-Type: application/json' -H 'Accept: application/json' -u <adminUsername>:<adminPassword> http://<bitbucketBaseUrl>/rest/indexing/latest/sync
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            fhaehnel Felix
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: