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
- In the KOTS Admin Console, navigate to Services Configuration under Advanced Startup Settings.
- Ensure all key-value pairs are separated by a line break.
- 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.
Prevention
Verify that all service configurations are separated by a line break. Deploy a new configuration sequence if necessary.
❌ Incorrect Configuration Example
✅️Correct Configuration ExampleAdditional 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)
Comments
0 comments
Please sign in to leave a comment.