-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/35793/#review89047
-----------------------------------------------------------


Discussed with Bill offline and it seems like having an offline periodic async 
GC processor would be a better long term solution. It would allow us to handle 
all cleanup in a single place but more importantly will remove the implicit 
perf tax applied on every GC-enabled transaction.

- Maxim Khutornenko


On June 23, 2015, 6:28 p.m., Bill Farner wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/35793/
> -----------------------------------------------------------
> 
> (Updated June 23, 2015, 6:28 p.m.)
> 
> 
> Review request for Aurora and Maxim Khutornenko.
> 
> 
> Bugs: AURORA-1298
>     https://issues.apache.org/jira/browse/AURORA-1298
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> DbTaskStore: delete unreferenced job keys.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java 
> 30e3469a9f69091b929a9243f84036fa2fdd0539 
>   src/main/java/org/apache/aurora/scheduler/storage/db/TaskConfigManager.java 
> 3ada6286e6ef6e3302802b74eec6c46dd582dc10 
>   src/main/java/org/apache/aurora/scheduler/storage/db/TaskConfigMapper.java 
> 7ee001f9c019a1e7b669ae5cec6088bf974a3746 
>   
> src/main/resources/org/apache/aurora/scheduler/storage/db/TaskConfigMapper.xml
>  8258fb102b7f5fca9635143ebaed542d43abeb9f 
>   src/main/resources/org/apache/aurora/scheduler/storage/db/schema.sql 
> 24cf52680b69e23f5ccbbcada0606975b0405d5b 
>   
> src/test/java/org/apache/aurora/scheduler/storage/AbstractTaskStoreTest.java 
> 63a784f843eb7edf9a13c623e5355169c7e8623b 
>   src/test/java/org/apache/aurora/scheduler/storage/db/DbTaskStoreTest.java 
> dda988d03634f8de582cf2b8ccdeb433c3e3de0c 
> 
> Diff: https://reviews.apache.org/r/35793/diff/
> 
> 
> Testing
> -------
> 
> Note that this removes a defensive branch wherein we checked for inbound 
> config references before attempting to delete.  With this change, we 
> proactively delete and count on foreign key constraints to prevent deletion 
> of rows that are still referenced.  I propose we adopt this as our pattern 
> for handling shared references, as it seems to be the most sane approach 
> available.
> 
> A gotcha with this case is that i do not believe mybatis provides a 
> vendor-neutral approach to identify a consistency violation, and the best 
> signal is a generic `PersistenceException`.  This is unfortunate since we 
> can't distinguish between a hopeless query with invalid syntax, a network 
> disconnection, or the anticipated case of a consistency violation.
> 
> 
> Thanks,
> 
> Bill Farner
> 
>

Reply via email to