skip to Main Content

I’m using RStudio server and h2o.splitFrame is causing some error, and I’m not sure where to look at.


h2o.init(max_mem_size = '950G', nthreads = 127) 

...

parts = h2o.splitFrame(data_h2o, ratios = c(0.7,0.15), seed =1) # train-valid-test split
Error in .Call(R_curl_fetch_memory, enc2utf8(url), handle, nonblocking) : 
  reached elapsed time limit

The behavior is quite strange in that sometimes parts is generated fine regardless of the error. However, occasionally it fails and prints errors like:

> parts
[[1]]
# train split was OK    
5 -1.110098e-16   -0.30177617
6  9.999955e-01   12.29344288

[487719970 rows x 16 columns] 

[[2]]

ERROR: Unexpected HTTP Status code: 400 Bad Request (url = http://localhost:54321/99/Rapids)

java.lang.IllegalArgumentException
 [1] "java.lang.IllegalArgumentException: Name lookup of 'RTMP_sid_bbef_2' failed"                                 
 [2] "    water.rapids.Env.lookup(Env.java:458)"                                                                   
 [3] "    water.rapids.ast.params.AstId.exec(AstId.java:33)"                                                       
 [4] "    water.rapids.ast.prims.mungers.AstRowSlice.apply(AstRowSlice.java:39)"                                   
 [5] "    water.rapids.ast.prims.mungers.AstRowSlice.apply(AstRowSlice.java:20)"                                   
 [6] "    water.rapids.ast.AstExec.exec(AstExec.java:63)"                                                          
 [7] "    water.rapids.ast.prims.assign.AstTmpAssign.apply(AstTmpAssign.java:48)"                                  
 [8] "    water.rapids.ast.prims.assign.AstTmpAssign.apply(AstTmpAssign.java:17)"                                  
 [9] "    water.rapids.ast.AstExec.exec(AstExec.java:63)"                                                          
[10] "    water.rapids.Session.exec(Session.java:99)"                                                              
[11] "    water.rapids.Rapids.exec(Rapids.java:94)"                                                                
[12] "    water.api.RapidsHandler.exec(RapidsHandler.java:34)"                                                     
[13] "    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"                          
[14] "    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)"        
[15] "    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
[16] "    java.base/java.lang.reflect.Method.invoke(Method.java:566)"                                              
[17] "    water.api.Handler.handle(Handler.java:60)"                                                               
[18] "    water.api.RequestServer.serve(RequestServer.java:472)"                                                   
[19] "    water.api.RequestServer.doGeneric(RequestServer.java:303)"                                               
[20] "    water.api.RequestServer.doPost(RequestServer.java:227)"                                                  
[21] "    javax.servlet.http.HttpServlet.service(HttpServlet.java:707)"                                            
[22] "    javax.servlet.http.HttpServlet.service(HttpServlet.java:790)"                                            
[23] "    org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)"                                  
[24] "    org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)"                              
[25] "    org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)"                       
[26] "    org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)"                      
[27] "    org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)"                        
[28] "    org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)"                               
[29] "    org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)"                        
[30] "    org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)"                       
[31] "    org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)"                           
[32] "    org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)"                   
[33] "    org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)"                         
[34] "    water.webserver.jetty9.Jetty9ServerAdapter$LoginHandler.handle(Jetty9ServerAdapter.java:130)"            
[35] "    org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)"                   
[36] "    org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)"                         
[37] "    org.eclipse.jetty.server.Server.handle(Server.java:531)"                                                 
[38] "    org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)"                                       
[39] "    org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)"                             
[40] "    org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)"             
[41] "    org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)"                                       
[42] "    org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)"                                    
[43] "    org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)"                  
[44] "    org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)"                
[45] "    org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)"               
[46] "    org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)"                      
[47] "    org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)"
[48] "    org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)"                        
[49] "    org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)"                         
[50] "    java.base/java.lang.Thread.run(Thread.java:829)"                                                         

Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page,  : 
  

ERROR MESSAGE:

Name lookup of 'RTMP_sid_bbef_2' failed
sessionInfo()
R version 4.2.2 Patched (2022-11-10 r83330)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.2 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] hrbrthemes_0.8.0  kableExtra_1.3.4  fixest_0.11.1     RPostgres_1.4.5   dbplyr_2.3.0      tictoc_1.1        ggthemr_1.1.0     hms_1.1.2         arrow_10.0.1     
[10] data.table_1.14.6 forcats_1.0.0     stringr_1.5.0     dplyr_1.1.0       purrr_1.0.1       readr_2.1.3       tidyr_1.3.0       tibble_3.1.8      ggplot2_3.4.0    
[19] tidyverse_1.3.2   h2o_3.40.0.1     

2

Answers


  1. Chosen as BEST ANSWER

    h2o version 3.40.0.2 still doesn't solve the problem.

    Luckily, I found this workaround; it works with no problem somehow.

    train = h2o.splitFrame(data_h2o, ratios = c(0.7,0.15), seed =1)[[1]] 
    valid = h2o.splitFrame(data_h2o, ratios = c(0.7,0.15), seed =1)[[2]] 
    test = h2o.splitFrame(data_h2o, ratios = c(0.7,0.15), seed =1)[[3]] 
    

    Edit: Another workaround

    Supplying destination frame names does not generate above error.

    parts = h2o.splitFrame(data_h2o, ratios = c(0.7,0.15), destination_frames = c('train','valid','test'), seed =1)
    

    Edit:: @Erin

    parts = h2o.splitFrame(data_h2o, ratios = c(0.7,0.15), seed =1)
    Error in .Call(R_curl_fetch_memory, enc2utf8(url), handle, nonblocking) : 
      reached elapsed time limit
    train = parts[[1]]
    
    ERROR: Unexpected HTTP Status code: 404 Not Found (url = http://localhost:54321/3/Frames/RTMP_sid_b98f_20?row_count=10)
    
    water.exceptions.H2OKeyNotFoundArgumentException
     [1] "water.exceptions.H2OKeyNotFoundArgumentException: Object 'RTMP_sid_b98f_20' not found for argument: key"     
     [2] "    water.api.FramesHandler.getFromDKV(FramesHandler.java:136)"                                              
     [3] "    water.api.FramesHandler.doFetch(FramesHandler.java:226)"                                                 
     [4] "    water.api.FramesHandler.doFetch(FramesHandler.java:221)"                                                 
     [5] "    water.api.FramesHandler.fetch(FramesHandler.java:200)"                                                   
     [6] "    jdk.internal.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)"                                    
     [7] "    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
     [8] "    java.base/java.lang.reflect.Method.invoke(Method.java:566)"                                              
     [9] "    water.api.Handler.handle(Handler.java:60)"                                                               
    [10] "    water.api.RequestServer.serve(RequestServer.java:472)"                                                   
    [11] "    water.api.RequestServer.doGeneric(RequestServer.java:303)"                                               
    [12] "    water.api.RequestServer.doGet(RequestServer.java:225)"                                                   
    [13] "    javax.servlet.http.HttpServlet.service(HttpServlet.java:687)"                                            
    [14] "    javax.servlet.http.HttpServlet.service(HttpServlet.java:790)"                                            
    [15] "    org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)"                                  
    [16] "    org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)"                              
    [17] "    org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)"                       
    [18] "    org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)"                      
    [19] "    org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)"                        
    [20] "    org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)"                               
    [21] "    org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)"                        
    [22] "    org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)"                       
    [23] "    org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)"                           
    [24] "    org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)"                   
    [25] "    org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)"                         
    [26] "    water.webserver.jetty9.Jetty9ServerAdapter$LoginHandler.handle(Jetty9ServerAdapter.java:130)"            
    [27] "    org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)"                   
    [28] "    org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)"                         
    [29] "    org.eclipse.jetty.server.Server.handle(Server.java:531)"                                                 
    [30] "    org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)"                                       
    [31] "    org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)"                             
    [32] "    org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)"             
    [33] "    org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)"                                       
    [34] "    org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)"                                    
    [35] "    org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)"                  
    [36] "    org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)"                
    [37] "    org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)"               
    [38] "    org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)"                      
    [39] "    org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)"
    [40] "    org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)"                        
    [41] "    org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)"                         
    [42] "    java.base/java.lang.Thread.run(Thread.java:829)"                                                         
    
    Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page,  : 
      
    
    ERROR MESSAGE:
    
    Object 'RTMP_sid_b98f_20' not found for argument: key
    
    valid = parts[[2]]
    test = parts[[3]]
    
    print(train) # works
    
    4 -1.756761e-02    0.83612315
    5 -1.110098e-16   -0.30177617
    6  9.999955e-01   12.29344288
    
    [487719970 rows x 16 columns] 
    print(valid) # works
    print(test) # works
    

  2. It looks like it failed to find the frame data_h2o and hence failed the frame splitting. The error message provided to you is bad.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search