I'm using sqlite from the C API on top of EC2 where EBS will sometimes 
give me IO errors.  For the most part, this is OK and my application can deal 
with them, but I'm not entirely sure *how* to deal with them correctly in all 
cases.

        My usage is pretty simple:

                begin transaction;
                -- do a bunch of inserts (on conflict replace, so many are 
updates in practice)
                commit;

        Whenever an insert fails, I can requeue it to happen at a later time.  
Right now, when a commit fails, I just keep retrying it until it succeeds.

        The types of problems I might have that could lead me to failing to 
commit should theoretically also lead me to be unable to rollback.  My app must 
assume that these errors in the IO layer will eventually heal.

        What's the best course of action to keep my application running and try 
my best to keep my on-disk data sane?


(a variation of this was also posted to SO and may have some useful commentary 
around it:  
<http://stackoverflow.com/questions/2842752/how-should-i-deal-with-sqlite-errors>
 )

-- 
Dustin Sallings

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to