|
nugulus responded: |
2007-08-21 14:05 |
Assigned To: marki |
I know Peter is out of the office until 27th.
Looks to me the issue relates to a user without proper privileges was executing the select command. Within labkey.xml file, the right user is "pgsql". If I get in the labkey database as pgsql and execute
select * from core.containers where parent is null;
the content will be picked up. But this same command caused error in the logfile labkey-error.log I posted in the thread. So what is the user being used? Where can change the configuration of it?
Jun |
|
|
nugulus responded: |
2007-08-21 14:26 |
Assigned To: rossb |
Seemed I've got rid of the permission issue by setting the PGUSER environment variable for the pgsql user, which is used in the labkey.xml file. I still have the following error in labkey-errors.log,
ERROR MS2Controller 2007-08-21 16:13:27,189 JobThread-1.1 : Couldn't load Gene Ontology
javax.servlet.ServletException: File not found: MS2/externalData/term.txt
the above message was generated by clicking Admin Console-->Protein Database-->Load/Reload GO.
I have the existing path docBase/MS2/externalData, but the file term.txt is not there. Why I missed it? How can I recover it?
Jun |
|
wongch responded: |
2007-08-22 07:36 |
Hi Jun,
Try the "Documentation" link on the left panel and search with keyword "Gene Ontology".
Follow the search result on the topic "Loading Protein Annotation Files",
https://www.labkey.org/Wiki/home/Documentation/page.view?name=annotations
You will find the details there. Note that "ftp.godatabase.org" should be "ftp.geneontology.org" as the DNS entry has changed.
*Chee-Hong |
|
nugulus responded: |
2007-08-22 12:20 |
Thank you Chee-Hong.
The error is gone. I'm still looking at the word INCOMPLETE for the annotation loading. In case it finishes, what do I expect to see? Sorry I'm new to using labkey.
Jun |
|
wongch responded: |
2007-08-22 17:02 |
Jun,
The error message "java.lang.OutOfMemoryError: Java heap space" suggests that java do not have enough memory allocated for it to insert the annotation. You need add some option when starting java.
Try "java -X" on a console and check out "-Xms" and "-Xma". When you set these values, make sure you have the physical RAM and that it is available. You can try "-Xms384m -Xmx384m" for a start, i.e. start java with 348MB but may only require up to 348MB.
*Chee-Hong |
|
nugulus responded: |
2007-08-23 06:31 |
It's run overnight already, still INCOMPLETE. As explained, it should take 5-10 minutes.
Jun |
|
nugulus responded: |
2007-08-23 07:03 |
Chee-Hong,
Thank you for pointing the memory issue for me. I'm not so familiar with using java. I executed
java -X, and got,
[root@mdabambda-dev logs]# java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by :>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by :>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by :>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
The -X options are non-standard and subject to change without notice.
after the last line, the session seems ended, so I don't know how to check out things you mentioned. Please give a little bit more instruction for me. Also, if I need to run java with different options, what is the way I tell tomcat or labkey to do so?
Jun |
|
nugulus responded: |
2007-08-23 07:37 |
Now I understand the java options your pointed out, but still need to know how to apply the options in the tomcat/labkey environment.
Jun |
|
jeckels responded: |
2007-08-23 10:17 |
Jun,
It depends on how you've installed LabKey Server.
If you used the Windows installer, go to c:\Program Files\LabKey Server\apache-tomcat-5.5.20\bin and type "tomcat5w //ES//LabKeyTomcat5". It will pop up a properties dialog. Go to the Java tab and increase the Maximum Memory Pool setting to 512 MB.
If you didn't use the installer, you'll need to edit catalina.bat (for Windows) or catalina.sh (for Unix). Go to the line that starts with "set JAVA_OPTS=" (for Windows) or "JAVA_OPTS=" (for Unix) and add -Xmx512 to the end of the line.
In either case, you'll need to restart the server, but it should then be able to to use more memory. You can verify that the server is using the new setting by going to Manage Site->Admin Console->[memory usage] in your browser. The "Total Heap Memory" line should indicate that it has a max of approximately 512,000,000 bytes.
Thanks,
Josh |
|
nugulus responded: |
2007-08-23 12:01 |
Thank you Josh.
I installed tomcat/labkey on a Linux machine, and now trying to find where those java options are set. Do you have any idea where they are?
Jun |
|
nugulus responded: |
2007-08-23 12:09 |
Another related question, what happen to the annot file loading process if I restart tomcat for the new java options to take effect?
Jun |
|
jeckels responded: |
2007-08-23 12:22 |
They should be in <TOMCAT_HOME>/bin. I'm not sure where Tomcat was installed on your machine, but it's sometimes in /usr/local/tomcat or /usr/local/apache-tomcat-5.5.20.
After restarting the server, you'll want to re-upload the annotation file.
Josh |
|
nugulus responded: |
2007-08-23 13:02 |
After I added the environment variable JAVA_OPTS='-Xmx512m', restarted tomcat, restarted annotation, the CPU iowait drop from 60% to close to 0%.
Before setting the JAVA_OPTS, Admin Console-->memory usage shows no heap graphics, but it shows after.
The only thing unexpected is that the Total Heap Memory listed didn't change over the previous, something like,
Total Heap Memory init = 0; used = 15,255,144; committed = 66,650,112; max = 66,650,112
no sign to indicate the max setting of 512M, even though I don't remember the previous values of used= and committed=.
Thank you so much Josh, do you think the annotation will finish soon this time?
Jun |
|
nugulus responded: |
2007-08-23 14:06 |
I just noticed that the labkey-errors.log was once again populated with the following message. Looking under the directory docBase/MS2/externalData, all those files I previously unzipped into which, are gone. What's going on?
Jun
ERROR MS2Controller 2007-08-23 16:00:56,214 JobThread-1.1 : Couldn't load Gene Ontology
javax.servlet.ServletException: File not found: MS2/externalData/term.txt
at org.labkey.ms2.protein.tools.ProteinDictionaryHelpers.loadAGoFile(ProteinDictionaryHelpers.java:131)
at org.labkey.ms2.protein.tools.ProteinDictionaryHelpers.loadGo(ProteinDictionaryHelpers.java:209)
at org.labkey.ms2.MS2Controller$1.run(MS2Controller.java:1303)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:65)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:168)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595) |
|
nugulus responded: |
2007-08-23 14:37 |
Please help.
I copied term.txt, term2term.txt, term_definition.txt, term_synonym.txt and graph_path.txt to under docBase/MS2/externalData, then Load New Annot File, then Load/Reload, and the above copied files disappeared. Correspondingly, in the labkey-errors.log file, I have the following message,
ERROR MS2Controller 2007-08-23 16:27:13,866 JobThread-1.1 : Couldn't load Gene Ontology
javax.servlet.ServletException: File not found: MS2/externalData/term.txt
Jun |
|
nugulus responded: |
2007-08-23 15:05 |
Sorry folks, I think I finally have the JAVA_OPTS value set effectively. No errors. The only bad thing I can see is that the cpu iowait percentage is high, about 70% averagely, of course due to starting of the Load New Annot File.
Jun |
|
adam responded: |
2007-08-30 06:58 |
I have updated the 2.1 documentation to refer to ftp.geneontology.org. Note that in LabKey 2.2 (expected release mid September), the loading process for GO files is much improved & automated. After clicking the Load/Reload GO button, your LabKey server will automatically retrieve the latest zip file from ftp.geneontology.org and populate the GO tables. |
|
|
|