Issue Details (XML | Word | Printable)

Key: JRA-6962
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Dylan Etkin [Atlassian]
Reporter: joshua portway
Votes: 0
Watchers: 0
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
JIRA

on first install subversion plugin can't create it's index directory

Created: 09/Jun/05 05:02 PM   Updated: 30/Jul/06 07:35 PM
Component/s: None
Affects Version/s: 3.2
Fix Version/s: 3.3 Beta1

Time Tracking:
Not Specified

Environment: Tomcat 5.0

Participants: Anton Mazkovoi [Atlassian], Brian Nguyen [OLD], Dylan Etkin [Atlassian] and joshua portway
Since last comment: 3 years, 22 weeks ago
Resolution Date: 03/Jul/05 07:37 PM
Labels:


 Description  « Hide
When first installing the subversion plugin it attempts to create a directory at $indexdir/plugins/atlassian-subversion-revisions.
The problem is that it fails to create this directory unless the $indexdir/plugins directory exists already. The workaround was to manually create the "plugins" directory and reboot Jira and it worked fine.

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Anton Mazkovoi [Atlassian] added a comment - 10/Jun/05 04:58 AM
Hi,

Unfortunately we have troubles reproducing this behaviour. can you reproduce it reliably? If so could you please provide a set of steps that you go through?

Thanks,
Anton


joshua portway added a comment - 10/Jun/05 04:57 PM
well, it happened twice.
Haven't tried reinstalling from scratch since. It sort of looks as if it could have been a permissions problem, except that jira did generate the other two directories ok (issues and comments). Here's the log that was generated. When the next update comes out I'll let you know if it happens again.

log follows :
.
.
blah
blah
blah
.
.
.2005-06-09 22:47:13,035 INFO [jira.action.admin.DataImport] Removing 13 entities.
2005-06-09 22:47:13,040 INFO [jira.action.admin.DataImport] Removed entities.
2005-06-09 22:47:13,040 INFO [jira.action.admin.DataImport] Importing 11550 entities.
2005-06-09 22:47:19,274 INFO [jira.action.admin.DataImport] Imported entities.
2005-06-09 22:47:19,275 INFO [jira.action.admin.DataImport] Finished storing Generic Values
Jun 9, 2005 10:47:20 PM com.atlassian.jira.util.LuceneUtils createDirRobust
WARNING: Directory /Users/jira/Database/Index/plugins/atlassian-subversion-revisions does not exist - perhaps it was delete$
Jun 9, 2005 10:47:20 PM com.atlassian.jira.util.LuceneUtils createDirRobust
WARNING: Directory /Users/jira/Database/Index/issues does not exist - perhaps it was deleted? Creating..
Jun 9, 2005 10:47:20 PM com.atlassian.jira.util.LuceneUtils createDirRobust
WARNING: Directory /Users/jira/Database/Index/comments does not exist - perhaps it was deleted? Creating..
Jun 9, 2005 10:47:35 PM org.quartz.core.QuartzScheduler shutdown
INFO: Scheduler JiraQuartzScheduler_$_NON_CLUSTERED shutting down.
Jun 9, 2005 10:47:35 PM org.quartz.core.QuartzScheduler pause
INFO: Scheduler JiraQuartzScheduler_$_NON_CLUSTERED paused.
Jun 9, 2005 10:47:35 PM org.quartz.core.QuartzScheduler shutdown
INFO: Scheduler JiraQuartzScheduler_$_NON_CLUSTERED shutdown complete.
Jun 9, 2005 10:47:35 PM org.quartz.impl.StdSchedulerFactory instantiate
INFO: Quartz scheduler 'JiraQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
Jun 9, 2005 10:47:35 PM org.quartz.impl.StdSchedulerFactory instantiate
INFO: Quartz scheduler version: 1.0.7
Jun 9, 2005 10:47:35 PM org.quartz.core.QuartzScheduler start
INFO: Scheduler JiraQuartzScheduler_$_NON_CLUSTERED started.
Jun 9, 2005 10:47:36 PM com.atlassian.jira.util.LuceneUtils getIndexReader
SEVERE: Problem with path /Users/jira/Database/Index/plugins/atlassian-subversion-revisions: /Users/jira/Database/Index/plu$
java.io.IOException: /Users/jira/Database/Index/plugins/atlassian-subversion-revisions not a directory
at org.apache.lucene.store.FSDirectory.<init>(FSDirectory.java:132)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:102)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:83)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:95)
at com.atlassian.jira.util.LuceneUtils.getIndexReader(LuceneUtils.java:31)
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.updateLastRevisionIndexed(RevisionIndexer.jav$
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.updateIndex(RevisionIndexer.java:148)
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexService.run(RevisionIndexService.java:33)
at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:53)
at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50)
at org.quartz.core.JobRunShell.run(JobRunShell.java:147)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387)
2005-06-09 22:47:36,182 ERROR [ext.subversion.revisions.RevisionIndexService] Error indexing changes: com.atlassian.jira.is$
Index/plugins/atlassian-subversion-revisions not a directory: /Users/jira/Database/Index/plugins/atlassian-subversion-revis$
java.io.IOException: /Users/jira/Database/Index/plugins/atlassian-subversion-revisions not a directory
at org.apache.lucene.store.FSDirectory.<init>(FSDirectory.java:132)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:102)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:83)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:95)
at com.atlassian.jira.util.LuceneUtils.getIndexReader(LuceneUtils.java:31)
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.updateLastRevisionIndexed(RevisionIndexer.jav$
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.updateIndex(RevisionIndexer.java:148)
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexService.run(RevisionIndexService.java:33)
at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:53)
at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50)
at org.quartz.core.JobRunShell.run(JobRunShell.java:147)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387)
rethrown as
com.atlassian.jira.issue.index.IndexException: Problem with path /Users/jira/Database/Index/plugins/atlassian-subversion-re$
sian-subversion-revisions not a directory
at com.atlassian.jira.util.LuceneUtils.getIndexReader(LuceneUtils.java:36)
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.updateLastRevisionIndexed(RevisionIndexer.jav$
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.updateIndex(RevisionIndexer.java:148)
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexService.run(RevisionIndexService.java:33)
at com.atlassian.jira.service.JiraServiceContainer.run(JiraServiceContainer.java:53)
at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:50)
at org.quartz.core.JobRunShell.run(JobRunShell.java:147)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:387)
Caused by: java.io.IOException: /Users/jira/Database/Index/plugins/atlassian-subversion-revisions not a directory
at org.apache.lucene.store.FSDirectory.<init>(FSDirectory.java:132)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:102)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:83)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:95)
at com.atlassian.jira.util.LuceneUtils.getIndexReader(LuceneUtils.java:31)
... 7 more
.
.
blah
blah
blah
.
.


Brian Nguyen [OLD] added a comment - 14/Jun/05 11:59 PM
Hi Joshua,

In logs you have provided this line appears:

WARNING: Directory /Users/jira/Database/Index/plugins/atlassian-subversion-revisions does not exist - perhaps it was delete$

Was this line cut off in you installation? The line should be

WARNING: Directory /Users/jira/Database/Index/plugins/atlassian-subversion-revisions does not exist - perhaps it was deleted? Creating....

Also does the directory /Users/jira/Database/Index/plugins have any read/write restrictions on it?

Thanks,
Brian


joshua portway added a comment - 15/Jun/05 06:53 AM
no idea why the lines are truncated like that - probably because i just copied and pasted from the scrollback buffer in my terminal - in reality the whole line is there in the log, it's not actually truncated.

The App server should have read and write permission for that directory. In fact, you can see from the logs that it did successfully manage to create the /Users/jira/Database/Index/issues and /Users/jira/Database/Index/Comments directories. I suppose it's possible there was an odd permissions problem somewhere - my machine is set up with a "jira" user and the database is written to this users' home directories. The appserver doesn't run as this user - however it does have permission to write to the relevant directories. It's difficult to imagine what the permissions problem could be that would allow it to successfully create the other two directories in the same place though.


Anton Mazkovoi [Atlassian] added a comment - 17/Jun/05 04:44 AM
Thanks for the update. We will try to reproduce it and fix in JIRA 3.2.2. If you hit this problem again and have more clues please let us know.

Thanks again,
Anton


Dylan Etkin [Atlassian] added a comment - 21/Jun/05 09:04 PM
Hi Joshua,
We have been able to reproduce this issue. The problem is that the plugin tries to initialize itself before you have initialized Jira and told it where to place the index directory. In my case, it created a null/plugins/atlassian-subversion-revisions directory from where I launched the application because it had permission to do so. I am thinking that for you, the user whom the app server is running as does not have permission to create the directory there. We will be looking at this so that we can resolve it.
In the mean time, the work-around of restarting the app server once Jira has been properly configured should work.

Dylan Etkin [Atlassian] added a comment - 03/Jul/05 07:37 PM
The plugin has been changed (and the way Jira handles its scheduler a bit) so that the plugin will now handle the index creation, initialization, and recovery from deletion is a more robust fashion. The changes require that the plugin runs against jira 3.3 and will be released when 3.3 is release.