IBM Data and AI

Welcome to the IBM Data and AI Ideas Portal for Clients!

We welcome and appreciate your feedback on IBM Data and AI Products to help make them even better than they are today!
Before you submit an idea, please perform a search first as a similar idea may have already been reported in the portal. If a related idea is not yet listed, please create a new idea and include with it a description which includes expected behavior as well as why having this feature would improve the service and how it would address your use case.
IBM Employees:
Clients:
  • Our team welcomes any feedback and suggestions you have for improving our offerings / products! This forum allows us to connect your offering / product improvement ideas with IBM product and engineering teams.

  • If you have not registered on this portal please click on the following link and register. To complete registration you will need to open the email you will receive from Aha to confirm your identity. http://ibm.biz/IBM-Data-and-AI-Portal-Register

Additional Information:
  • The shorter URL for this site is: https://ibm.biz/IBM-Data-and-AI-Ideas

  • To view our roadmaps: http://ibm.biz/Data-and-AI-Roadmaps

  • Reminder: This is not the place to submit defects or support needs, please use normal support channel for these cases

  • Please do not use the Ideas Portal for reporting bugs - we ask that you report bugs or issues with the product by contacting IBM support.

JSONToTuple does not support lists of unsigned integers

Although the problem appears when using the JSONToTuple operator, I have raised this here as the error seems to indicate a problem in underlying type conversions from com.streams.operator.internal rather than the streamsx.json toolkit.

Here is a very some basic example code to reproduce the error:


use com.ibm.streamsx.json::JSONToTuple;

composite jsontest {
graph
stream JSONString = Beacon() {
param
period : 2.0;
initDelay : 5.0;
output
JSONString : json = '{"num": 1, "numList":[1,2,3]}';
}

streamnumList> Tuples = JSONToTuple(JSONString) {}

}

The uint32 num appears to be parsed fine, however the list generates an error:

24 Jul 2018 15:22:08.671 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:com.ibm.streamsx.json.JSONToTuple.process:-1] - Error Converting String: {"num": 1, "numList":[1,2,3]}
24 Jul 2018 15:22:08.672 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - java.lang.UnsupportedOperationException: CDISR5562E Conversion between SPL type list (MetaType.LIST) and Java type [I is not supported.
24 Jul 2018 15:22:08.672 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.types.ImplementationType.invalidConversion(ImplementationType.java:456)
24 Jul 2018 15:22:08.672 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.types.ListSpl.convertFromObject(ListSpl.java:115)
24 Jul 2018 15:22:08.672 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.types.ListSpl.convertFromObject(ListSpl.java:32)
24 Jul 2018 15:22:08.673 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.object.ObjectOutputTuple.setObject(ObjectOutputTuple.java:70)
24 Jul 2018 15:22:08.673 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.object.ObjectOutputTuple.setObject(ObjectOutputTuple.java:206)
24 Jul 2018 15:22:08.673 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streamsx.json.JSONToTuple.process(JSONToTuple.java:189)
24 Jul 2018 15:22:08.673 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.runtime.api.OperatorAdapter.processTuple(OperatorAdapter.java:1592)
24 Jul 2018 15:22:08.673 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.runtime.api.OperatorAdapter$1.tuple(OperatorAdapter.java:826)
24 Jul 2018 15:22:08.673 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.runtime.api.OperatorAdapter$1.tuple(OperatorAdapter.java:819)
24 Jul 2018 15:22:08.674 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.ports.SwitchingHandler$Alternate.tuple(SwitchingHandler.java:162)
24 Jul 2018 15:22:08.674 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.network.DeserializingStream.tuple(DeserializingStream.java:76)
24 Jul 2018 15:22:08.674 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.network.DeserializingStream.processRawTuple(DeserializingStream.java:65)
24 Jul 2018 15:22:08.674 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.runtime.api.InputPortsConduit.processRawTuple(InputPortsConduit.java:100)
24 Jul 2018 15:22:08.674 [11449] ERROR #splapptrc,J[0],P[0],Tuples M[?:?:0] - com.ibm.streams.operator.internal.jni.JNIBridge.process(JNIBridge.java:317)




If I change the type to a uint64 the error appears the same except:

24 Jul 2018 15:28:04.088 [12985] ERROR #splapptrc,J[1],P[1],Tuples,spl_javaop M[?:com.ibm.streams.operator.internal.jni.JNIBridge.process:-1] - CDISR5562E Conversion between SPL type list (MetaType.LIST) and Java type [J is not supported.

For uint8:
24 Jul 2018 15:30:40.846 [14785] ERROR #splapptrc,J[2],P[2],Tuples,spl_javaop M[?:?:0] - java.lang.UnsupportedOperationException: CDISR5562E Conversion between SPL type list (MetaType.LIST) and Java type [B is not supported.
  • Avatar32.5fb70cce7410889e661286fd7f1897de Guest
  • Dec 14 2018
  • Delivered
Idea Priority High
Customer Name HMG

NOTICE TO EU RESIDENTS: per EU Data Protection Policy, if you wish to remove your personal information from the IBM ideas portal, please login to the ideas portal using your previously registered information then change your email to "anonymous@euprivacy.out" and first name to "anonymous" and last name to "anonymous". This will ensure that IBM will not send any emails to you about all idea submissions