You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2019/03/27 18:10:40 UTC
[GitHub] [pulsar] yciabaud opened a new issue #3916: Serialization error
when encoding schema with subrecords in python client
yciabaud opened a new issue #3916: Serialization error when encoding schema with subrecords in python client
URL: https://github.com/apache/pulsar/issues/3916
It seems that the schema support in the client 2.3.0 on python 3.7 is not working with subrecords.
This example produces an error when encoding ():
> "TypeError: Object of type MySubRecord is not JSON serializable"
```python
import json
from pulsar.schema import Record, String, JsonSchema
def test_complex():
class MySubRecord(Record):
a = String()
class Example(Record):
sub = MySubRecord() # Test with instance
r = Example(sub = MySubRecord( a = 'string' ))
assert r.sub.a == 'string'
s = JsonSchema(Example)
# Produces "TypeError: Object of type MySubRecord is not JSON serializable"
data = s.encode(r)
assert json.loads(data)['sub']['a'] == 'string'
```
Is there something I missed in the implementation? I tested with `AvroSchema` with no success.
I expected the client to use a custom encoder that would have encoded the subrecord.
What do you think?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services