H2O无法获取新生成的帧的frame_id?

时间:2019-06-14 20:21:02

标签: h2o

有一个奇怪的问题,即H2O框架无法从群集中获取其frame_id属性。

有一个进程执行固定循环,在该循环上对水帧c进行一些处理,然后将其行绑定到另一帧a,以节省群集上的内存,我想删除行绑定之前的a的“旧版本”,因此使用另一帧b作为指向旧a的指针,该行在绑定后被删除会返回另一帧被分配给的。例如

# in some for loop
...
    b = a.frame_id
    print '1. %s, %s' % (a.frame_id, b)
    a = a.rbind(c)
    print '2. %s, %s' % (a.frame_id, b)
    h2o.remove(b)
...

我看到的输出看起来像

1. Key_Frame__upload_bce99720cff0008f4b44c6c71dd54c0d.hex, Key_Frame__upload_bce99720cff0008f4b44c6c71dd54c0d.hex
2. py_2_sid_b35e, Key_Frame__upload_bce99720cff0008f4b44c6c71dd54c0d.hex

1. py_2_sid_b35e, py_2_sid_b35e

H2OResponseError: Server error java.lang.IllegalArgumentException:
  Error: Name lookup of 'Key_Frame__upload_bce99720cff0008f4b44c6c71dd54c0d.hex' failed
  Request: POST /99/Rapids
    data: {u'session_id': '_sid_b35e', u'ast': '(tmp= py_3_sid_b35e (rbind Key_Frame__upload_bce99720cff0008f4b44c6c71dd54c0d.hex X7924123d_f1eb_46a8_bf2a_59cfbc5b887c.hex X44795656_48aa_4b77_a5b1_6948d733473e.hex))'}

错误消息引用了(据说)先前删除的对象ID字符串,这一事实使我认为这是集群的某种线程问题(例如无法立即获得{{ 1}}结果框架)(特别是因为在我的IDE中以调试模式运行代码时,不会出现此问题,只有在正常模式下运行时才会出现此问题)。对frame_id的呼叫是异步的还是非阻塞的?因此请注意,如果不存在print语句来捕获错误,则rbind只会抛出该错误,而无法删除h2o实例上的旧框架。有人知道这里会发生什么吗?

0 个答案:

没有答案