Save failures result in corrupted data directory and are not reported in the UI
-------------------------------------------------------------------------------
Key: GEOS-3377
URL: http://jira.codehaus.org/browse/GEOS-3377
Project: GeoServer
Issue Type: Bug
Components: Configuration
Reporter: Andrea Aime
Assignee: Justin Deoliveira
Priority: Blocker
Fix For: 2.0-RC2
When an error occurr in the XStream persister two bad things happen:
1) the file is corrupted, and won't be loaded at the next restart
2) the error is not reported at the UI level
1) means the configuration will be lost (if a datastore one is lost, everything attached to it will die as well). This is not good, especially if one is just editing something existing.
It's probably cautious to have the XStreamPersister write to an in memory buffer first, and dump on disk later? Or write on a new file, and then rename it to overwrite the older.
On this topic, here is an interesting discussion http://stackoverflow.com/questions/595631/how-to-atomically-rename-a-file-in-java-even-if-the-dest-file-already-exists which
points to this package http://commons.apache.org/transaction/, that looks _very_ interesting (atm we have no transaction abilities on the fs, but it seems we could add some?)
2) is grave because the user may spend a lot of time building atop the configuration that was not saved just to discover the loss of its work after the restart.
We had a few similar reports on the ml, people working on the config to discover it was gone afterwards.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira