[jira] [Updated] (AVRO-2897) Unable to create nullable fields in Avro JavaScript implementation

2020-07-18 Thread Mattias Andersson (Jira)


 [ 
https://issues.apache.org/jira/browse/AVRO-2897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mattias Andersson updated AVRO-2897:

Description: 
 

I apologize in advance if this is a misunderstanding of funcitonality on my 
part and I have only tested it on the latest published npm package 
([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
serious bug.

According to multiple sources 
([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
 nullable values should be specified as a unon with the type null, e.g. for 
string "['null', 'string']"

However, given the following code (that from what I understand should be valid)
{code:java}
var type = avro.parse({
  name: 'Pet',
  type: 'record',
  fields: [
{ name: 'name', type: ['null', 'string'] }
  ]
});
var pet = { name: "Fido" };
var buf = type.toBuffer(pet);
var obj = type.fromBuffer(buf);
console.log(obj);
{code}
I get the followin error on "type.toBuffer(pet)"
{code:java}
Error: invalid ["null","string"]: "Fido"
{code}
 

Curiously, if I instead set pet name as "null" instead of "Fido" everything 
runs fine and returns a correct output given the input. Though this is not very 
useful as the field still can not be changed to anything else beside null.
{code:java}
...
var pet = { name: null };
...
console.log(obj);{code}
{code:java}
Pet { name: null }
{code}
 

Expected behavior is that both string and null should be valid parameters 
without throwing an exception.

 

 

  was:
 

I apologize in advance if this is a misunderstanding of funcitonality on my 
part and I have only tested it on the latest published npm package 
([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
serious bug.

According to multiple sources 
([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
 nullable values should be specified as a unon with the type null, e.g. for 
string "['null', 'string']"

However, given the following code (that from what I understand should be valid)
{code:java}
var type = avro.parse({
  name: 'Pet',
  type: 'record',
  fields: [
{ name: 'name', type: ['null', 'string'] }
  ]
});
var pet = { name: "Fido" };
var buf = type.toBuffer(pet);
var obj = type.fromBuffer(buf);
console.log(obj);
{code}
I get the followin error on "type.toBuffer(pet)"
{code:java}
Error: invalid ["null","string"]: "Fido"
{code}
 

Curiously, if I instead set pet name as "null" instead of "Fido" everything 
runs fine and returns a correct output given the input. Though this is not very 
useful as the field still can not be changed to anything else beside null.
{code:java}
...
var pet = { name: null };
...
console.log(obj);{code}
{code:java}
Pet { name: null }
{code}
 

 

 

 


> Unable to create nullable fields in Avro JavaScript implementation
> --
>
> Key: AVRO-2897
> URL: https://issues.apache.org/jira/browse/AVRO-2897
> Project: Apache Avro
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 1.10.0
>Reporter: Mattias Andersson
>Priority: Major
>
>  
> I apologize in advance if this is a misunderstanding of funcitonality on my 
> part and I have only tested it on the latest published npm package 
> ([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
> serious bug.
> According to multiple sources 
> ([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
>  nullable values should be specified as a unon with the type null, e.g. for 
> string "['null', 'string']"
> However, given the following code (that from what I understand should be 
> valid)
> {code:java}
> var type = avro.parse({
>   name: 'Pet',
>   type: 'record',
>   fields: [
> { name: 'name', type: ['null', 'string'] }
>   ]
> });
> var pet = { name: "Fido" };
> var buf = type.toBuffer(pet);
> var obj = type.fromBuffer(buf);
> console.log(obj);
> {code}
> I get the followin error on "type.toBuffer(pet)"
> {code:java}
> Error: invalid ["null","string"]: "Fido"
> {code}
>  
> Curiously, if I instead set pet name as "null" instead of "Fido" everything 
> runs fine and returns a correct output given the input. Though this is not 
> very useful as the field still can not be changed to anything else beside 
> null.
> {code:java}
> ...
> var pet = { name: null };
> ...
> console.log(obj);{code}
> {code:java}
> Pet { name: null }
> {code}
>  
> Expected behavior is that both string and null should be valid parameters 
> without throwing an exception.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (AVRO-2897) Unable to create nullable fields in Avro JavaScript implementation

2020-07-17 Thread Mattias Andersson (Jira)


 [ 
https://issues.apache.org/jira/browse/AVRO-2897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mattias Andersson updated AVRO-2897:

Description: 
 

I apologize in advance if this is a misunderstanding of funcitonality on my 
part and I have only tested it on the latest published npm package 
([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
serious bug.

According to multiple sources 
([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
 nullable values should be specified as a unon with the type null, e.g. for 
string "['null', 'string']"

However, given the following code (that from what I understand should be valid)
{code:java}
var type = avro.parse({
  name: 'Pet',
  type: 'record',
  fields: [
{ name: 'name', type: ['null', 'string'] }
  ]
});
var pet = { name: "Fido" };
var buf = type.toBuffer(pet);
var obj = type.fromBuffer(buf);
console.log(obj);
{code}
I get the followin error
{code:java}
Error: invalid ["null","string"]: "Fido"
{code}
 

Curiously, if I instead set pet name as "null" instead of "Fido" everything 
runs fine and returns a correct output given the input. Though this is not very 
useful as the field still can not be changed to anything else beside null.
{code:java}
...
var pet = { name: null };
...
console.log(obj);{code}
{code:java}
Pet { name: null }
{code}
 

 

 

 

  was:
 

I apologize in advance if this is a misunderstanding of funcitonality on my 
part and I have only tested it on the latest published npm package 
([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
serious bug.

According to multiple sources 
([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
 nullable values should be specified as a unon with the type null, e.g. for 
string "['null', 'string']"

However, given the following code (that from what I understand should be valid)
{code:java}
var type = avro.parse({
  name: 'Pet',
  type: 'record',
  fields: [
{ name: 'name', type: ['null', 'string'] }
  ]
});
var pet = { name: "Fido" };
var buf = type.toBuffer(pet);
var obj = type.fromBuffer(buf);
console.log(obj);
{code}
I get the followin error

 
{code:java}
Error: invalid ["null","string"]: "Fido"
{code}
 

 

Curiously, if I instead set pet name as "null" instead of "Fido" everything 
runs fine and returns a correct output given the input. Though this is not very 
useful as the field still can not be changed to anything else beside null.

 
{code:java}
Pet { name: null }
{code}
 

 

 

 


> Unable to create nullable fields in Avro JavaScript implementation
> --
>
> Key: AVRO-2897
> URL: https://issues.apache.org/jira/browse/AVRO-2897
> Project: Apache Avro
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 1.10.0
>Reporter: Mattias Andersson
>Priority: Major
>
>  
> I apologize in advance if this is a misunderstanding of funcitonality on my 
> part and I have only tested it on the latest published npm package 
> ([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
> serious bug.
> According to multiple sources 
> ([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
>  nullable values should be specified as a unon with the type null, e.g. for 
> string "['null', 'string']"
> However, given the following code (that from what I understand should be 
> valid)
> {code:java}
> var type = avro.parse({
>   name: 'Pet',
>   type: 'record',
>   fields: [
> { name: 'name', type: ['null', 'string'] }
>   ]
> });
> var pet = { name: "Fido" };
> var buf = type.toBuffer(pet);
> var obj = type.fromBuffer(buf);
> console.log(obj);
> {code}
> I get the followin error
> {code:java}
> Error: invalid ["null","string"]: "Fido"
> {code}
>  
> Curiously, if I instead set pet name as "null" instead of "Fido" everything 
> runs fine and returns a correct output given the input. Though this is not 
> very useful as the field still can not be changed to anything else beside 
> null.
> {code:java}
> ...
> var pet = { name: null };
> ...
> console.log(obj);{code}
> {code:java}
> Pet { name: null }
> {code}
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (AVRO-2897) Unable to create nullable fields in Avro JavaScript implementation

2020-07-17 Thread Mattias Andersson (Jira)


 [ 
https://issues.apache.org/jira/browse/AVRO-2897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mattias Andersson updated AVRO-2897:

Description: 
 

I apologize in advance if this is a misunderstanding of funcitonality on my 
part and I have only tested it on the latest published npm package 
([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
serious bug.

According to multiple sources 
([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
 nullable values should be specified as a unon with the type null, e.g. for 
string "['null', 'string']"

However, given the following code (that from what I understand should be valid)
{code:java}
var type = avro.parse({
  name: 'Pet',
  type: 'record',
  fields: [
{ name: 'name', type: ['null', 'string'] }
  ]
});
var pet = { name: "Fido" };
var buf = type.toBuffer(pet);
var obj = type.fromBuffer(buf);
console.log(obj);
{code}
I get the followin error on "type.toBuffer(pet)"
{code:java}
Error: invalid ["null","string"]: "Fido"
{code}
 

Curiously, if I instead set pet name as "null" instead of "Fido" everything 
runs fine and returns a correct output given the input. Though this is not very 
useful as the field still can not be changed to anything else beside null.
{code:java}
...
var pet = { name: null };
...
console.log(obj);{code}
{code:java}
Pet { name: null }
{code}
 

 

 

 

  was:
 

I apologize in advance if this is a misunderstanding of funcitonality on my 
part and I have only tested it on the latest published npm package 
([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
serious bug.

According to multiple sources 
([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
 nullable values should be specified as a unon with the type null, e.g. for 
string "['null', 'string']"

However, given the following code (that from what I understand should be valid)
{code:java}
var type = avro.parse({
  name: 'Pet',
  type: 'record',
  fields: [
{ name: 'name', type: ['null', 'string'] }
  ]
});
var pet = { name: "Fido" };
var buf = type.toBuffer(pet);
var obj = type.fromBuffer(buf);
console.log(obj);
{code}
I get the followin error
{code:java}
Error: invalid ["null","string"]: "Fido"
{code}
 

Curiously, if I instead set pet name as "null" instead of "Fido" everything 
runs fine and returns a correct output given the input. Though this is not very 
useful as the field still can not be changed to anything else beside null.
{code:java}
...
var pet = { name: null };
...
console.log(obj);{code}
{code:java}
Pet { name: null }
{code}
 

 

 

 


> Unable to create nullable fields in Avro JavaScript implementation
> --
>
> Key: AVRO-2897
> URL: https://issues.apache.org/jira/browse/AVRO-2897
> Project: Apache Avro
>  Issue Type: Bug
>  Components: javascript
>Affects Versions: 1.10.0
>Reporter: Mattias Andersson
>Priority: Major
>
>  
> I apologize in advance if this is a misunderstanding of funcitonality on my 
> part and I have only tested it on the latest published npm package 
> ([https://www.npmjs.com/package/avro-js]) but if not this should be a rather 
> serious bug.
> According to multiple sources 
> ([https://avro.apache.org/docs/1.8.1/spec.htm|https://avro.apache.org/docs/1.8.1/spec.html]),
>  nullable values should be specified as a unon with the type null, e.g. for 
> string "['null', 'string']"
> However, given the following code (that from what I understand should be 
> valid)
> {code:java}
> var type = avro.parse({
>   name: 'Pet',
>   type: 'record',
>   fields: [
> { name: 'name', type: ['null', 'string'] }
>   ]
> });
> var pet = { name: "Fido" };
> var buf = type.toBuffer(pet);
> var obj = type.fromBuffer(buf);
> console.log(obj);
> {code}
> I get the followin error on "type.toBuffer(pet)"
> {code:java}
> Error: invalid ["null","string"]: "Fido"
> {code}
>  
> Curiously, if I instead set pet name as "null" instead of "Fido" everything 
> runs fine and returns a correct output given the input. Though this is not 
> very useful as the field still can not be changed to anything else beside 
> null.
> {code:java}
> ...
> var pet = { name: null };
> ...
> console.log(obj);{code}
> {code:java}
> Pet { name: null }
> {code}
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)