vaticle / typedb-studio

TypeDB Studio (IDE)
https://typedb.com
Mozilla Public License 2.0
186 stars 43 forks source link

Studio Backward Compatibility Issue When Loading Type Definition #654

Open mathieuisabel opened 1 year ago

mathieuisabel commented 1 year ago

Description

Loading a type definition in Studio results in the following error in Studio:

[SCH02] TypeDB Studio Schema: Failed to load type properties due to: [SRV30] Invalid Server Operation: The request message was not recognised..

On the server console:

10:57:02.408 [typedb-service::0] ERROR com.vaticle.typedb.core.server.TransactionService - [SRV30] Invalid Server Operation: The request message was not recognised. com.vaticle.typedb.core.common.exception.TypeDBException: [SRV30] Invalid Server Operation: The request message was not recognised. at com.vaticle.typedb.core.common.exception.TypeDBException.of(TypeDBException.java:66) at com.vaticle.typedb.core.server.concept.TypeService.execute(TypeService.java:247) at com.vaticle.typedb.core.server.TransactionService.executeRequest(TransactionService.java:190) at com.vaticle.typedb.core.server.TransactionService.execute(TransactionService.java:153) at com.vaticle.typedb.core.server.TransactionService.onNext(TransactionService.java:127) at com.vaticle.typedb.core.server.TransactionService.onNext(TransactionService.java:82) at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:262) at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:318) at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:301) at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:834) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833)

Environment

  1. OS (where TypeDB server runs): Windows 11
  2. TypeDB version (and platform): 2.12
  3. TypeDB client: Studio 2.11
  4. Other environment details:

Reproducible Steps

Navigate to a type in the type browser in Studio and double click to load it.

Expected Output

Type definition load correctly.

Actual Output

image

Additional information

This might be expected broken behavior between 2.11 studio and 2.12 server. I just didn't notice that in the release notes as something that would be broken.

jamesreprise commented 1 year ago

Hi @mathieuisabel, there should be a Studio release out fairly soon. Additionally, we have a compatibility table available at: https://docs.vaticle.com/docs/studio/overview.

If you want to use Studio against the latest version of TypeDB, you can compile and run Studio from the development branch using the instructions found at: https://github.com/vaticle/typedb-studio/#compiling-and-running-typedb-studio-from-source

Let us know if you encounter any issues.

jamesreprise commented 1 year ago

We should definitely look at the way we handle errors and alert users to compatibility issues. This isn't clear from the provided error message.

alexjpwalker commented 1 year ago

This is a known issue in all TypeDB Clients, including typedb-client-java which Studio uses internally.