I considered clearing the authorizations before calling all the
TransactionState.close() methods, but it seems like too risky a change.
Additional thoughts / discussion inline:
This is a tough problem as we have no good way to preserve encapsulation.
> It would be nice to InProcessLockingManger check writer implemented an
> interface, or had some extra state we could set, allowing it to know we
> were at then end of a commit.
>
> Getting access to an "unwrapped" writer from ContentDataStore will also be
> tricky as the exact wrappers that have been applied depend very much on
> format being implemented.
>
> Do this to work we would need all the wrappers to implement a
getDelegate() method allowing us to traverse through the list and "find"
the check writer implementation. I would like to steer away from this idea
unless we have no other choice.
Since this problem surfaces in the middle of DiffTransactionState.commit()
> we should see if we can handle any shenanigans there. Is there any way for
> this commit method to obtain a new writer (with both a diff writer and a
> lock writer in the mix) and carefully disable (i.e. pass through any
> changes) that would otherwise be stored in memory.
>
Adding an extra isClosing field to DiffTransactionState seems the cleanest
approach.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel