When a job fails, the model key used in the job remains locked and cannot be reused from R

Description

On master -Build git hash:31e95f76d45a7e7848375361d16fc9fe9e68b6ff
pp = h2o.importFile(h,"/Users/nidhimehta/h2o/smalldata/logreg/prostate.csv",key = "pp")

================================================================================

100%
> pp$GLEASON =as.factor(pp$GLEASON)
> aa = h2o.prcomp(pp[,3:9],key="aa",standardize=T,retx=T)

================================================================================

100%

================================================================================

100%
> dd = h2o.importFile(h,"/Users/nidhimehta/h2o/smalldata/logreg/prostate.csv",key = "dd")

================================================================================

100%
> h2o.predict(aa,newdata=dd)

 

0%
Polling fails:
<simpleError in .h2o.__poll(client, job_key): Illegal argument: Incompatible column: 'GLEASON', expected (trained on) categorical, was passed a numeric>

================================================================================

100%
IP Address: 10.0.0.3

Port : 54321
Parsed Data Key: PCAPredict_76abb42620ba4fbf971f3926bfc6fb2e

data frame with 0 columns and 0 rows
> aa = h2o.prcomp(pp[,3:9],key="aa",standardize=T,retx=T,max_pc=2)
Error in .h2o._remoteSend(client, .h2o._PAGE_EXEC2, str = expr) :
http://10.0.0.3:54321/2/Exec2.json returned the following error:
Frame is already locked by job null.
>

14:59:25.548 # Session ERRR WATER: env.remove_and_unlock() failed
+ java.lang.IllegalArgumentException: Dataset PCAPredict_76abb42620ba4fbf971f3926bfc6fb2e is already in use. Unable to use it now. Consider using a different destination name.
+ at water.Lockable$PriorWriteLock.atomic(Lockable.java:85)
+ at water.Lockable$PriorWriteLock.atomic(Lockable.java:74)
+ at water.TAtomic.atomic(TAtomic.java:19)
+ at water.Atomic.compute2(Atomic.java:58)
+ at water.Atomic.fork(Atomic.java:42)
+ at water.Atomic.invoke(Atomic.java:34)
+ at water.Lockable.write_lock(Lockable.java:60)
+ at water.Lockable.delete_and_lock(Lockable.java:64)
+ at water.exec.Env.remove_and_unlock(Env.java:371)
+ at water.api.Exec2.serve(Exec2.java:74)
+ at water.api.Request.serveGrid(Request.java:165)
+ at water.Request2.superServeGrid(Request2.java:490)
+ at water.api.Exec2.serveGrid(Exec2.java:81)
+ at water.api.Request.serve(Request.java:142)
+ at water.api.RequestServer.serve(RequestServer.java:502)
+ at water.NanoHTTPD$HTTPSession.run(NanoHTTPD.java:425)
+ at java.lang.Thread.run(Thread.java:744)
14:59:28.111 # Session INFO HTTPD: POST /2/Exec2.json str=Last.value.11 = pp[,c(3,4,5,6,7,8,9)]
14:59:28.111 # Session ERRR WATER:
+ java.lang.AssertionError: Frame is already locked by job null.
+ at water.Lockable.set_read_lock(Lockable.java:209)
+ at water.Lockable.access$400(Lockable.java:23)
+ at water.Lockable$ReadLock.atomic(Lockable.java:143)
+ at water.Lockable$ReadLock.atomic(Lockable.java:136)
+ at water.TAtomic.atomic(TAtomic.java:19)
+ at water.Atomic.compute2(Atomic.java:58)
+ at water.Atomic.fork(Atomic.java:42)
+ at water.Atomic.invoke(Atomic.java:34)
+ at water.Lockable.read_lock(Lockable.java:131)
+ at water.exec.Exec2.exec(Exec2.java:81)
+ at water.api.Exec2.serve(Exec2.java:37)
+ at water.api.Request.serveGrid(Request.java:165)
+ at water.Request2.superServeGrid(Request2.java:490)
+ at water.api.Exec2.serveGrid(Exec2.java:81)
+ at water.api.Request.serve(Request.java:142)
+ at water.api.RequestServer.serve(RequestServer.java:502)
+ at water.NanoHTTPD$HTTPSession.run(NanoHTTPD.java:425)
+ at java.lang.Thread.run(Thread.java:744)
14:59:28.112 # Session ERRR WATER:
+ java.lang.AssertionError: Frame is already locked by job null.
+ at water.Lockable.set_read_lock(Lockable.java:209)
+ at water.Lockable.access$400(Lockable.java:23)
+ at water.Lockable$ReadLock.atomic(Lockable.java:143)
+ at water.Lockable$ReadLock.atomic(Lockable.java:136)
+ at water.TAtomic.atomic(TAtomic.java:19)
+ at water.Atomic.compute2(Atomic.java:58)
+ at water.Atomic.fork(Atomic.java:42)
+ at water.Atomic.invoke(Atomic.java:34)
+ at water.Lockable.read_lock(Lockable.java:131)
+ at water.exec.Exec2.exec(Exec2.java:81)
+ at water.api.Exec2.serve(Exec2.java:37)
+ at water.api.Request.serveGrid(Request.java:165)
+ at water.Request2.superServeGrid(Request2.java:490)
+ at water.api.Exec2.serveGrid(Exec2.java:81)
+ at water.api.Request.serve(Request.java:142)
+ at water.api.RequestServer.serve(RequestServer.java:502)
+ at water.NanoHTTPD$HTTPSession.run(NanoHTTPD.java:425)
+ at java.lang.Thread.run(Thread.java:744)

Assignee

New H2O Bugs

Reporter

Nidhi Mehta

Labels

None

CustomerVisible

No

testcase 1

None

testcase 2

None

testcase 3

None

h2ostream link

None

Affected Spark version

None

AffectedContact

None

AffectedCustomers

None

AffectedPilots

None

AffectedOpenSource

None

Support Assessment

None

Customer Request Type

None

Support ticket URL

None

End date

None

Baseline start date

None

Baseline end date

None

Task progress

None

Task mode

None

Components

Priority

Major
Configure