Here it is... And yes I recently upgraded to 2.12 from 2.8.1

create table if not exists car_code (
provider_id int,
car_id int,
car_code varchar(16),
primary key (provider_id, car_id)
) with "template=replicatedTpl, key_type=CarCodeKey, value_type=CarCode";

On Wed, Aug 31, 2022 at 7:25 AM Alex Plehanov <plehanov.a...@gmail.com>
wrote:

> John Smith,
>
> Can you please show DDL for the car_code table? Does PK of this table
> include provider_id or car_code columns?
> I found a compatibility issue, with the same behaviour, it happens when
> storage created with Ignite version before 2.11 is used with the newer
> Ignite version. Have you upgraded the dev environment with existing storage
> recently (before starting to get this error)?
>
>
> чт, 4 авг. 2022 г. в 17:06, John Smith <java.dev....@gmail.com>:
>
>> Let me know if that makes any sense, because the test data is the same
>> and the application code is the same. Only dropped and created the table
>> again using DbEaver.
>>
>> On Wed, Aug 3, 2022 at 11:39 AM John Smith <java.dev....@gmail.com>
>> wrote:
>>
>>> Hi, so I dropped the table and simply recreated it. Did NOT restart the
>>> application.
>>>
>>> Now it works fine.
>>>
>>> On Wed, Aug 3, 2022 at 9:58 AM John Smith <java.dev....@gmail.com>
>>> wrote:
>>>
>>>> How? The code is 100% the same between production and dev. And it's
>>>> part of a bigger application.
>>>>
>>>> Only dev has the issue. I will drop and recreate the table if that
>>>> fixes the issue then what?
>>>>
>>>> You are saying mismatch, it's a string period.
>>>>
>>>> "select car_id from car_code where provider_id = ? and car_code = ? order 
>>>> by car_id asc limit 1;"
>>>>
>>>>
>>>> The first parameter is Integer and the second one is String. there's no
>>>> way this can mismatch... And even if the String was a UUID it's still a
>>>> string.
>>>>
>>>>     public JsonArray query(final String sql, final long timeoutMs,
>>>> final Object... args) {
>>>>         SqlFieldsQuery query = new SqlFieldsQuery(sql).setArgs(args);
>>>>         query.setTimeout((int) timeoutMs, TimeUnit.MILLISECONDS);
>>>>
>>>>         try (QueryCursor<List<?>> cursor = cache.query(query)) {
>>>>             List<JsonArray> rows = new ArrayList<>();
>>>>             Iterator<List<?>> iterator = cursor.iterator();
>>>>
>>>>             while(iterator.hasNext()) {
>>>>                 List currentRow = iterator.next();
>>>>                 JsonArray row = new JsonArray();
>>>>
>>>>                 currentRow.forEach(o -> row.add(o));
>>>>
>>>>                 rows.add(row);
>>>>             }
>>>>
>>>>             promise.tryComplete(rows);
>>>>         } catch(Exception ex) {
>>>>         ex.printStackTrace();
>>>>         }
>>>>     }
>>>>
>>>>     Integer providerId = 1;
>>>>     String carCode = "FOO";
>>>>
>>>>     query("select car_id from car_code where provider_id = ? and
>>>> car_code = ? order by car_id asc limit 1;", 3000, providerId, cardCode);
>>>>
>>>>
>>>>
>>>> On Wed, Aug 3, 2022 at 6:50 AM Taras Ledkov <tled...@apache.org> wrote:
>>>>
>>>>> Hi John and Don,
>>>>>
>>>>> I guess the root cause in the data types mismatch between table schema
>>>>> and actual data at the store or type of the query parameter.
>>>>> To explore the gap, it would be very handy if you could provide a
>>>>> small reproducer (standalone project or PR somewhere).
>>>>>
>>>>> > In my case I'm not even using UUID fields. Also the same code 2 diff
>>>>> environment dev vs prod doesn't cause the issue. I'm lucky enough that 
>>>>> it's
>>>>> on dev and prod is ok.
>>>>> >
>>>>> > But that last part might be misleading because in prod I think it
>>>>> happened early on during upgrade and all I did was recreate the sql table.
>>>>> >
>>>>> > So before I do the same on dev... I want to see what the issue is.
>>>>> >
>>>>> > On Tue., Aug. 2, 2022, 6:06 p.m. , <don.tequ...@gmx.de> wrote:
>>>>> >
>>>>> >> I‘m only speculating but this looks very similar to the issue I had
>>>>> last week and reported to the group here.
>>>>> >>
>>>>> >> Caused by: org.h2.message.DbException: Hexadecimal string with odd
>>>>> number of characters: "5" [90003-197]
>>>>>
>>>>>
>>>>> --
>>>>> With best regards,
>>>>> Taras Ledkov
>>>>>
>>>>

Reply via email to