In the old versions of Bamboo, the index directory does not have subfolders and the index files are just dumped. In the later versions of bamboo 5.5.x and above, the index are grouped in to subfolders. Now the issue is whenever the index folder is purged and Bamboo restarted, we will expect that it recreates the index and all subfolders. On the contrary, Bamboo tries to create the subfolders directly without checking the parent folder (index). This caused Bamboo to fail to startup and the following thrown in the logs:
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.index.LuceneConnectionImpl]: Constructor threw exception; nested exception is com.atlassian.bonnie.LuceneException: java.io.IOException: Unable to create index directory '/bamboo/home/index/results' Caused by: com.atlassian.bonnie.LuceneException: java.io.IOException: Unable to create index directory '/bamboo/home/index/results' at com.atlassian.bonnie.DirectoryUtil.getDirectory(DirectoryUtil.java:34) at com.atlassian.bonnie.LuceneConnection.<init>(LuceneConnection.java:135) at com.atlassian.bamboo.index.LuceneConnectionImpl.<init>(LuceneConnectionImpl.java:26) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:186)
Workaround
The workaround will be to create an empty index directory manually in Bamboo home and restart Bamboo
- mentioned in
-
Page Failed to load
- was cloned as
-
BDEV-10363 Failed to load
[BAM-14872] Bamboo fails to recreate purged index directory
Workflow | Original: Bamboo Workflow 2016 v1 - Restricted [ 1440794 ] | New: JAC Bug Workflow v3 [ 3382312 ] |
Status | Original: Resolved [ 5 ] | New: Closed [ 6 ] |
Workflow | Original: Bamboo Workflow 2016 v1 [ 1415894 ] | New: Bamboo Workflow 2016 v1 - Restricted [ 1440794 ] |
Workflow | Original: Bamboo Workflow 2014 v2 [ 720363 ] | New: Bamboo Workflow 2016 v1 [ 1415894 ] |
Remote Link | New: This issue links to "Page (Extranet)" [ 141913 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Open [ 1 ] | New: Resolved [ 5 ] |
Fix Version/s | New: 5.10.0 [ 54320 ] |
Assignee | New: Marcin Gardias [ mgardias ] |
Remote Link | New: This issue links to "BDEV-10363 (Atlassian JIRA Extranet - Special Projects)" [ 132716 ] |
Status | Original: Needs Triage [ 10030 ] | New: Open [ 1 ] |
Regular Expression | New: Caused\sby:\scom\.atlassian\.bonnie\.LuceneException:\sjava\.io\.IOException:\sUnable\sto\screate\sindex\sdirectory | |
Description |
Original:
In the old versions of Bamboo, the index directory does not have subfolders and the index files are just dumped. In the later versions of bamboo 5.5.x and above, the index are grouped in to subfolders. Now the issue is whenever the index folder is purged and Bamboo restarted, we will expect that it recreates the index and all subfolders. On the contrary, Bamboo tries to create the subfolders directly without checking the parent folder (index). This caused Bamboo to fail to startup and the following thrown in the logs:
{code} Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.index.LuceneConnectionImpl]: Constructor threw exception; nested exception is com.atlassian.bonnie.LuceneException: java.io.IOException: Unable to create index directory '/bamboo/home/index/results' Caused by: com.atlassian.bonnie.LuceneException: java.io.IOException: Unable to create index directory '/bamboo/home/index/results' at com.atlassian.bonnie.DirectoryUtil.getDirectory(DirectoryUtil.java:34) at com.atlassian.bonnie.LuceneConnection.<init>(LuceneConnection.java:135) at com.atlassian.bamboo.index.LuceneConnectionImpl.<init>(LuceneConnectionImpl.java:26) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:186) {code} |
New:
In the old versions of Bamboo, the index directory does not have subfolders and the index files are just dumped. In the later versions of bamboo 5.5.x and above, the index are grouped in to subfolders. Now the issue is whenever the index folder is purged and Bamboo restarted, we will expect that it recreates the index and all subfolders. On the contrary, Bamboo tries to create the subfolders directly without checking the parent folder (index). This caused Bamboo to fail to startup and the following thrown in the logs:
{code} Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.index.LuceneConnectionImpl]: Constructor threw exception; nested exception is com.atlassian.bonnie.LuceneException: java.io.IOException: Unable to create index directory '/bamboo/home/index/results' Caused by: com.atlassian.bonnie.LuceneException: java.io.IOException: Unable to create index directory '/bamboo/home/index/results' at com.atlassian.bonnie.DirectoryUtil.getDirectory(DirectoryUtil.java:34) at com.atlassian.bonnie.LuceneConnection.<init>(LuceneConnection.java:135) at com.atlassian.bamboo.index.LuceneConnectionImpl.<init>(LuceneConnectionImpl.java:26) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:186) {code} *Workaround* The workaround will be to create an empty index directory manually in Bamboo home and restart Bamboo |