hi, Marcus!

Thank you for the reproducer, I've succeed in reproducing it. Create a
ticket for that https://issues.apache.org/jira/browse/IGNITE-14869

I will return to you with a workaround, after finding a reason.

On Thu, Jun 10, 2021 at 3:18 AM Lo, Marcus <marcus...@citi.com> wrote:

> Hi Ivan, Maksim,
>
> Here is the reproducer:
>
> import org.apache.ignite.Ignition;
> import org.apache.ignite.binary.BinaryObject;
> import org.apache.ignite.binary.BinaryObjectBuilder;
> import org.apache.ignite.cache.QueryEntity;
> import org.apache.ignite.client.ClientCache;
> import org.apache.ignite.client.IgniteClient;
> import org.apache.ignite.configuration.BinaryConfiguration;
> import org.apache.ignite.configuration.ClientConfiguration;
> import org.junit.jupiter.api.Test;
>
> import java.sql.Timestamp;
> import java.time.Instant;
> import java.util.*;
> import java.util.stream.IntStream;
>
> import static java.util.stream.Collectors.toList;
>
> public class Reproducer {
>
>     @Test
>     public void reproduce() throws InterruptedException {
>         ClientConfiguration config = constructIgniteThinClientConfig();
>         IgniteClient ignite = Ignition.startClient(config);
>
>         List<UUID> uuids = IntStream.range(0, 200).mapToObj((i) ->
> UUID.randomUUID()).collect(toList());
>
>         while (true) {
>             upsertLimitViewData(ignite, uuids);
>             Thread.sleep(1000);
>         }
>     }
>
>     private void upsertLimitViewData(IgniteClient ignite, List<UUID>
> uuids) {
>         System.out.println("[" + Instant.now() + "] upserting data... " +
> Thread.currentThread().getName());
>
>         ClientCache<Object, Object> cache =
> ignite.cache("LimitViewStatusCache").withKeepBinary();
>         QueryEntity queryEntity =
> cache.getConfiguration().getQueryEntities()[0];
>         BinaryObjectBuilder keyBuilder =
> ignite.binary().builder(queryEntity.getKeyType());
>         BinaryObjectBuilder valueBuilder =
> ignite.binary().builder(queryEntity.getValueType());
>         HashMap<Object, Object> valueMap = new HashMap<>();
>
>         for (int i = 0; i < 200; i++) {
>             BinaryObject key = keyBuilder
>                     .setField("viewId", uuids.get(i))
>                     .setField("status", "moo")
>                     .build();
>
>             BinaryObject value = valueBuilder
>                     .setField("batchId", new Random().nextInt())
>                     .setField("instance", Integer.toString(new
> Random().nextInt()))
>                     .setField("nodes", Integer.toString(new
> Random().nextInt()))
>                     .setField("eqtgContext", Integer.toString(new
> Random().nextInt()))
>                     .setField("lastUpdateTime",
> Timestamp.from(Instant.now()))
>                     .build();
>
>             valueMap.put(key, value);
>         }
>
>         cache.putAll(valueMap);
>     }
>
>     private ClientConfiguration constructIgniteThinClientConfig() {
>         return
>                 new ClientConfiguration()
>                         .setAddresses("xxx:10800")
>                         .setPartitionAwarenessEnabled(false)
>                         .setBinaryConfiguration(new
> BinaryConfiguration().setCompactFooter(false))
>                         .setUserName("xxx")
>                         .setUserPassword("xxx");
>     }
> }
>
>
> Regards,
> Marcus
>
> -----Original Message-----
> From: [External] Maksim Timonin <timonin.ma...@gmail.com>
> Sent: Thursday, June 10, 2021 12:31 AM
> To: user@ignite.apache.org
> Subject: Re: Ignite crashed with CorruptedTreeException
>
> Hi Marcus!
>
> Could you please provide a complete code that inserts data (either it is
> SQL, or cache put, which types do you use, etc.). I've tried to reproduce
> your case but failed.
>
> Thanks a lot!
>
>
>
> --
> Sent from:
> https://urldefense.com/v3/__http://apache-ignite-users.70518.x6.nabble.com/__;!!Jkho33Y!2v--HF_tnHWeR_0YefFDx-NcnoY3hkO-9G94IAXG23N6qzB_qz-rSYtuciav3A$
>

Reply via email to