Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-30354

Make Nuxeo Stream with Kafka compatible with hot-reload

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 2021.0
    • Fix Version/s: 11.x
    • Component/s: Runtime

      Description

      Currently a hot-reload of Nuxeo configured to used Kafka (at least with StreamWorkManager) produces this error

      2021-04-12T13:52:40,225 WARN  [http-nio-0.0.0.0-8080-exec-14] [Transaction] Unexpected exception from afterCompletion; continuing
      org.nuxeo.lib.stream.StreamRuntimeException: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Call(callName=describeTopics, deadlineMs=1618235620225, tries=1, nextAllowedTryMs=-9223372036854775709) timed out at 9223372036854775807 after 1 attempt(s)
      	at org.nuxeo.lib.stream.log.kafka.KafkaUtils.partitions(KafkaUtils.java:208) ~[nuxeo-stream-11.4.42.jar:?]
      	at org.nuxeo.lib.stream.log.kafka.KafkaUtils.topicExists(KafkaUtils.java:188) ~[nuxeo-stream-11.4.42.jar:?]
      	at org.nuxeo.lib.stream.log.kafka.KafkaLogManager.exists(KafkaLogManager.java:115) ~[nuxeo-stream-11.4.42.jar:?]
      	at org.nuxeo.lib.stream.log.internals.AbstractLogManager.lambda$getAppender$3(AbstractLogManager.java:155) ~[nuxeo-stream-11.4.42.jar:?]
      	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705) ~[?:?]
      	at org.nuxeo.lib.stream.log.internals.AbstractLogManager.getAppender(AbstractLogManager.java:154) ~[nuxeo-stream-11.4.42.jar:?]
      	at org.nuxeo.lib.stream.log.UnifiedLogManager.getAppender(UnifiedLogManager.java:137) ~[nuxeo-stream-11.4.42.jar:?]
      	at org.nuxeo.lib.stream.log.LogManager.getAppender(LogManager.java:130) ~[nuxeo-stream-11.4.42.jar:?]
      	at org.nuxeo.lib.stream.computation.log.LogStreamManager.append(LogStreamManager.java:111) ~[nuxeo-stream-11.4.42.jar:?]
      	at org.nuxeo.ecm.core.work.StreamWorkManager.schedule(StreamWorkManager.java:215) ~[nuxeo-core-event-11.4.42.jar:?]
      	at org.nuxeo.ecm.core.work.StreamWorkManager$WorkScheduling.afterCompletion(StreamWorkManager.java:411) ~[nuxeo-core-event-11.4.42.jar:?]
      	at org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:559) ~[geronimo-transaction-3.1.4.jar:3.1.4]
      	at org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:552) ~[geronimo-transaction-3.1.4.jar:3.1.4]
      	at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:335) ~[geronimo-transaction-3.1.4.jar:3.1.4]
      	at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252) ~[geronimo-transaction-3.1.4.jar:3.1.4]
      	at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.commit(NuxeoContainer.java:418) ~[nuxeo-runtime-jtajca-11.4.42.jar:?]
      	at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:387) ~[nuxeo-runtime-jtajca-11.4.42.jar:?]
      	at org.nuxeo.runtime.transaction.TransactionHelper.runInTransaction(TransactionHelper.java:626) ~[nuxeo-runtime-jtajca-11.4.42.jar:?]
      	at org.nuxeo.runtime.transaction.TransactionHelper.runInTransaction(TransactionHelper.java:596) ~[nuxeo-runtime-jtajca-11.4.42.jar:?]
      	at org.nuxeo.ecm.core.repository.RepositoryService.initRepositories(RepositoryService.java:167) ~[nuxeo-core-11.4.42.jar:?]
      	at org.nuxeo.ecm.core.repository.RepositoryService$1.afterStart(RepositoryService.java:103) ~[nuxeo-core-11.4.42.jar:?]
      	at org.nuxeo.runtime.model.impl.ComponentManagerImpl$Listeners.afterStart(ComponentManagerImpl.java:1180) ~[nuxeo-runtime-11.4.42.jar:?]
      	at org.nuxeo.runtime.model.impl.ComponentManagerImpl.startComponents(ComponentManagerImpl.java:737) ~[nuxeo-runtime-11.4.42.jar:?]
      	at org.nuxeo.runtime.model.impl.ComponentManagerImpl.resume(ComponentManagerImpl.java:894) ~[nuxeo-runtime-11.4.42.jar:?]
      	at org.nuxeo.runtime.reload.ReloadComponent.reloadBundles(ReloadComponent.java:396) ~[nuxeo-runtime-reload-11.4.42.jar:?]
      	at org.nuxeo.ecm.admin.runtime.ReloadHelper.hotReloadPackage(ReloadHelper.java:131) ~[nuxeo-admin-center-core-11.4.42.jar:?]
      ...
      Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Call(callName=describeTopics, deadlineMs=1618235620204, tries=1, nextAllowedTryMs=-9223372036854775709) timed out at 9223372036854775807 after 1 attempt(s)
      ...
      Caused by: org.apache.kafka.common.errors.TimeoutException: Call(callName=describeTopics, deadlineMs=1618235620204, tries=1, nextAllowedTryMs=-9223372036854775709) timed out at 9223372036854775807 after 1 attempt(s)
      Caused by: org.apache.kafka.common.errors.TimeoutException: The AdminClient thread is not accepting new calls. 

       

      It would be a nice-to-have for customers who wants to use hot-reload in Production-like environments.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              tmartins Thierry Martins
              Participants:
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: