Hi - I tried socketTimeout (I don't believe it's set in the SessionFactory code, but it may be in the hibernate config), and then got a recordlock error after 5 minutes: java.lang.NullPointerException at org.archiviststoolkit.mydomain.DomainAccessObjectImpl.update(DomainAccessObjectImpl.java:228) at org.archiviststoolkit.util.RecordLockUtils.updateRecordLocksTime(RecordLockUtils.java:170) at org.archiviststoolkit.Main$1.run(Main.java:526) at java.lang.Thread.run(Unknown Source)
I'll try Chris' solution next. Cindy Harper, Systems Librarian Colgate University Libraries char...@colgate.edu 315-228-7363 On Thu, Oct 6, 2011 at 4:12 PM, Cowles, Esme <escow...@ucsd.edu> wrote: > Cindy- > > I think connectTimeout is used for making the initial connection to the > database. But the error you describe sounds more like the initial > connection succeeds, but then there is a timeout afterwards. I think the > socketTimeout parameter is what would control the timeout during an editing > session. Though the docs say both connectTimeout and socketTimeout are 0 > for no timeout by default: > > > http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html > > Is socketTimeout specified in the JDBC config, by any chance? > > -Esme > -- > Esme Cowles <escow...@ucsd.edu> > > "In the old days, an operating system was designed to optimize the > utilization of the computer's resources. In the future, its main goal > will be to optimize the user's time." -- Jakob Nielsen > > On 10/6/2011, at 3:05 PM, Cindy Harper wrote: > > > I'm asking you all because it's not clear to me how to interact with the > AT > > developers directly - the response back from the ATUG list is rather > slow, > > and I'm hoping you can give me a technical explanation a la "no, > because..." > > rather than just a "no". > > > > We're trying to adopt Archivists Toolkit at Colgate. We don't have a Java > > developer in-house, but I'm exploring whether I can learn to address > minor > > issues myself. > > > > We're a small liberal arts college, so library policy is to out-source as > > much infrastructure as possible (meaning open source is generally > avoided). > > So the MySQL database is hosted on a Lunarpages server, and I can't > adjust > > the timeout at the server level. But I'm suspecting that the timeout > we're > > seeing is not a timeout of the given MySQL transaction, but instead a > > problem with Hibernate persistence. The symptom - we edit a record, > proceed > > to child records that require much editing - the chunk of data that my > > people are trying to enter at one time takes over 10 minutes to edit. > > During their editing the child records, an error occurs. AT has added > error > > code to sense that when this is a JDBCConnectionError, then it forces you > to > > restart. > > if(errorText.contains("JDBCConnectionException")) { > > String message = "Database connection has been lost due to a > > server timeout.\n\n" + > > "Please RESTART the program to continue. If the problem > > persists, consult your System Administrator."; > > > > So what I did was add a "&connectTimeout=3600" parameter to the > > SessionFactory database URL. But I still seem to have trouble with the > > timeout. > > > > Now, I acknowledge that understanding Hibernate and how it interacts with > > JDBC and altering code in AT may be getting over my head, and that what I > > probably should try next is either putting the database on my local MS > SQL > > Server instance, or my test-server instance of MySQL (I don't have a > local > > production instance of MySQL), and abandon the hosted server. > > > > But can any of you add to my knowledge base here, and tell me: > > - is it possible to correct this problem easily in the AT code? > > - is the JDBCConnectionException due to the MySQL server timeout that is > > set by &connectTimeout? > > - is simply adding a parameter to the database URL an effective way of > > making sure that that parameter is used in each opensession instance? > > - I know I have a lot to learn about hibernate - I've located a book to > skim > > in Books24x7 - I'll try wikipedia to get a briefer intial grounding. Any > > other advice? > > > > > > Cindy Harper, Systems Librarian > > Colgate University Libraries > > char...@colgate.edu > > 315-228-7363 >