1
覆蓋在我的Avro的模式,我定義了這樣產生的Avro構建一套空不使用默認
{
"name": "myfield",
"type": "string",
"default": ""
}
場當我建立我的Avro對象在Java中我設置myfield
是null
(我代碼只是從一個地方到另一個地方)
MyObject myObject = MyObject.newBuilder().setMyfield(null).build();
我結束了
myObject.getMyfield() == null
值複製10
這是預期的行爲?難道我做錯了什麼?我曾預料我們最終會以默認值""
。
因爲null
不是這個領域的一個有效的值當我嘗試和序列化對象(用於發送到卡夫卡)
我需要爲null呼籲Builder
這看起來像在Avro中的錯誤。如果參數爲null,那麼setter應該拋出一個異常。這應該獨立於架構中的默認值。 – asmaier