H2o 为什么ModelDescriptor和ModelDescriptorBuilder不可序列化?

H2o 为什么ModelDescriptor和ModelDescriptorBuilder不可序列化?,h2o,sparkling-water,H2o,Sparkling Water,在迁移到H2O SparklingWater 3.32时,我在序列化hex.genmodel.MojoModel对象的过程中遇到了一个错误。具体而言,MojoModel序列化通常会失败,与_modelDescriptor相关的NotSerializableException: 原因:java.io.NotSerializableException:hex.genmodel.descriptor.ModelDescriptorBuilder$1 字段(类“hex.genmodel.MojoMod

在迁移到H2O SparklingWater 3.32时,我在序列化hex.genmodel.MojoModel对象的过程中遇到了一个错误。具体而言,MojoModel序列化通常会失败,与_modelDescriptor相关的NotSerializableException:

原因:java.io.NotSerializableException:hex.genmodel.descriptor.ModelDescriptorBuilder$1

  • 字段(类“hex.genmodel.MojoModel”,名称:“\u modelDescriptor”,类型:“interface hex.genmodel.descriptor.modelDescriptor”)
  • 对象(类“hex.genmodel.algos.gbm.GbmMojoModel”,
我知道MojoModels通常保存并重新加载为MOJO文件。我们确实使用这些文件进行长期存储。但是,对于短期缓存,我们的代码依赖于序列化

MojoModel实现了可序列化。

但是,ModelDescriptor和ModelDescriptorBuilder未实现可序列化。事实上,它最初的目的似乎是实现可序列化,但未使用的导入在2019年6月17日的更新中被删除:

MojoModel中的所有序列化变量似乎都应该实现Serializable


我确实理解,我们的模型定义的某些部分可能会破坏序列化过程,我们正在继续调查。如果可能,我们将尝试提取一个最小的示例。但是,我想在我们继续调查该问题时提出这个问题。

Hi@sthompson\n最近,我们修复了该问题H2O版本-3.32.1.2,jira票证供参考-发布后将在SW中提供。感谢您报告此问题,我们修改了测试套件,以捕获您报告的问题。