Jan Novotný

Results 79 comments of Jan Novotný

Because there is a lot of settings I don't think the production mode is a good idea. Can we simply add configuration option for exposing API schemas to ApiOptions of...

You'd probably want different settings for queue sizes, thread count, limits and many more settings between different environments. So I don't think that adding "environment modes" is a good idea....

Based on the previous discussion I'm going to redefine this task to be able to selectively disable developer tools via. configuration options.

Do we have stacktrace from the server side?

@lukashornych is this an issue for evita core?

**Observations from current state:** If all pools are configured this way: ```java serverBuilder .gracefulShutdownTimeout(Duration.ZERO, Duration.ZERO) .blockingTaskExecutor(EventLoopGroups.newEventLoopGroup(apiOptions.serviceWorkerGroupThreadsAsInt()), false) .serviceWorkerGroup(EventLoopGroups.newEventLoopGroup(apiOptions.serviceWorkerGroupThreadsAsInt()), false) .workerGroup(EventLoopGroups.newEventLoopGroup(apiOptions.workerGroupThreadsAsInt()), false); ``` It still takes about 2 seconds to shut...

Another key place is `io.evitadb.store.offsetIndex.OffsetIndex#promoteNonFlushedValuesToSharedState` where the entire HashMap is re-allocated and copies. We should take advantage of persistent map there ([HAMT](https://en.wikipedia.org/wiki/Hash_array_mapped_trie)). Another part are recreated maps inside EntityCollection /...

We should also consider supporting async variants of the mutations returning `Progress` object.

Schema operations should be exeucted asynchronously and return futures.