Project

General

Profile

Actions

Bug #3373

closed

java: after shutdown() access ceph_* in JNI is not prevented

Added by Noah Watkins over 11 years ago. Updated about 5 years ago.

Status:
Won't Fix
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Hadoop/Java
Labels (FS):
Java/Hadoop
Pull request ID:
Crash signature (v1):
Crash signature (v2):

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.

Actions #1

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!

Actions #2

Updated by Noah Watkins over 11 years ago

  • Status changed from New to 7
Actions #3

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.

Actions #4

Updated by Greg Farnum almost 8 years ago

  • Component(FS) Hadoop/Java added
Actions #5

Updated by Patrick Donnelly about 5 years ago

  • Category deleted (48)
  • Labels (FS) Java/Hadoop added
Actions

Also available in: Atom PDF