Once a BinaryObjectSchema is created, it is not possible to change the type of a field for a known field name.
My question is whether there is any way to determine the type of that field in the Schema. We are hitting a case were the way we get the data out of a different database returns a TIMESTAMP, but our binary object wants a DATE. In this test case, I could figure out that, but in the general case, I have a BinaryObject type name, and a field name, and an exception if I try to put the wrong type in that field. The hokey general solutions I have come up with are: 1) Parse the exception message to see what type it wants 2) Have a list of conversions to try for the source type, and step through them on each exception. 3) Get the field from an existing binary object of that type, and use the class of the result. But there is the chicken/egg problem. I have found that I can create a cache on a cluster with persistence, with some type definition, then delete that cache, the cluster will remember the BinaryObjectSchema for that type, and refuse to allow me to change the field's type. If I don't remember the field's type, how can I build the binary object? Is there any way to delete the schema without nuking some of the binary-meta/marshaller files when the cluster is down? -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
