Bug #3373
closedjava: after shutdown() access ceph_* in JNI is not prevented
0%
Description
When CephMount is created, a mount context is created to back it. Checks in libcephfs return errors for calls when used in an unmounted state. However, shutdown() cleans up everything, not just unmounting. Thus, following shutdown(), users should receive IllegalStateException if they try to access the Ceph client.
Updated by Noah Watkins over 11 years ago
An alternative semantics which is more natural is to return CephMount to its initial state by performing a shutdown on the current context, and creating a new unmounted context. While more natural, we'd need a rw-lock to protect our native JNI pointer stored in the CephMount object. Is the added overhead of synchronization worth more than the more alternative semantics? Most users shouldn't be re-using their object after shutdown(), anyway!
Updated by Noah Watkins over 11 years ago
- Status changed from 7 to Won't Fix
Irrelevant after deprecating shutdown(). Users of CephMount can now remount after an unmount, and the backing context is only released during finalize(), so there are no user-facing special cases.
Updated by Patrick Donnelly about 5 years ago
- Category deleted (
48) - Labels (FS) Java/Hadoop added