Can't Finish Indexing - Advanced Startup Settings Misconfiguration

Chris
Chris
  • Updated

Published Date: November 1, 2025
Validated: Yes
Audience: Everyone
Products and Versions Covered:

  • Jama Connect® 
  • Self-Hosted
  • KOTS Admin Console

Summary

This article provides guidance for resolving indexing errors in Jama Connect® caused by misconfigurations in the Advanced Startup Settings. Without proper formatting of key-value pairs, re-indexing operations fail and can prevent proper indexing of items and search functionality. By the end of this article, users will understand how to identify misconfigurations, correct them, and prevent future indexing failures.

Resolution

  1. In the KOTS Admin Console, navigate to Services Configuration under Advanced Startup Settings.
  2. Ensure all key-value pairs are separated by a line break.
  3. Deploy the corrected configuration and re-run the indexing process.

Cause

Indexing fails when key-value pairs in the Advanced Startup Settings are not separated by line breaks. The system cannot parse misformatted parameters, which blocks the re-indexing process and may contribute to provisioning or search issues.
Screenshot 2025-11-11 103415.png

Prevention

Verify that all service configurations are separated by a line break. Deploy a new configuration sequence if necessary.

Incorrect Configuration Example
Screenshot 2025-11-11 104552.png

✅️Correct Configuration Example
Screenshot 2025-11-11 104604.pngAdditional Information/Metadata

The support bundle indicates that all pods are operational, but the re-indexing process may not have completed successfully, contributing to provisioning failures. Monitoring logs during the re-indexing process can help identify issues early.

Example stacktrace from the core logs:

2025-11-11 18:30:03,361 ERROR Thread-26 jama_app_04 [4c454e] [org.springframework.transaction.support.TransactionSynchronizationUtils] - TransactionSynchronization.afterCompletion threw exception
java.lang.IllegalArgumentException: null
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:129)
        at com.google.common.collect.Lists.partition(Lists.java:680)
        at com.jamasoftware.contour.api.util.CollectionUtil.chunk(CollectionUtil.java:45)
        at com.jamasoftware.contour.api.util.CollectionUtil.chunk(CollectionUtil.java:69)
        at com.jamasoftware.contour.search.indexer.overseer.TaskOverseer.lambda$commenceTask$1(TaskOverseer.java:107)
        at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
        at com.jamasoftware.contour.search.indexer.overseer.TaskOverseer.commenceTask(TaskOverseer.java:100)
        at com.jamasoftware.contour.search.indexer.overseer.TaskOverseer.run(TaskOverseer.java:83)
        at com.jamasoftware.contour.search.indexer.IndexTaskExecutor.execute(IndexTaskExecutor.java:41)
        at com.jamasoftware.contour.search.indexer.hibernate.IndexServiceTransactionSync.doCommit(IndexServiceTransactionSync.java:108)
        at com.jamasoftware.contour.search.indexer.hibernate.IndexServiceTransactionSync.afterCompletion(IndexServiceTransactionSync.java:152)
        at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCompletion(TransactionSynchronizationUtils.java:172)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.invokeAfterCompletion(AbstractPlatformTransactionManager.java:1047)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion(AbstractPlatformTransactionManager.java:1022)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:839)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:758)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:663)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:413)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
        at com.jamasoftware.contour.admin.audit.publisher.IndexAdminEventPublisher$$SpringCGLIB$$0.publishIndexAdminEvent()
        at com.jamasoftware.contour.service.impl.IndexServiceImpl.indexEntities(IndexServiceImpl.java:55)
        at com.jamasoftware.contour.service.impl.IndexServiceImpl.indexAllEntities(IndexServiceImpl.java:35)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
        at com.jamasoftware.contour.util.profiling.ProfilingAdvice.doProfile(ProfilingAdvice.java:41)
        at jdk.internal.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
        at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
        at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
        at jdk.proxy3/jdk.proxy3.$Proxy431.indexAllEntities(Unknown Source)
        at com.jamasoftware.contour.dwr.impl.DwrIndexServiceImpl$1.doWork(DwrIndexServiceImpl.java:28)
        at com.jamasoftware.contour.work.WorkProgressManager$1.doWork(WorkProgressManager.java:108)
        at com.jamasoftware.contour.work.AsynchronousWorkRunner.doWork(AsynchronousWorkRunner.java:70)
        at com.jamasoftware.contour.work.AsynchronousWorkRunner.lambda$runAsync$0(AsynchronousWorkRunner.java:46)
        at java.base/java.lang.Thread.run(Thread.java:840)
  



 

 

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.