microsoft/GraphEngine

Question: What trigger the generation of the PartitionId on protocol API Generation

TaviTruman opened this issue · 1 comments

I've noticed that some times Graph Engine Code Gen includes the parameter "PartitionId" and then it does not and I don't know what I might be doing in the TSL to cause such behavior.

Steps to get things started!

image

Here I am calling the generated API "PostTripleToServer" and it the RPC method only has one parameter:

image

I can follow the same workflow and design pattern in writing TSL yet in a separate project and the GE will generate an RPC method call that requires two parameters: int PartitionId in position 1 and then the Writer Request message in the second parameter. In any case, the later RPC method always fails no matter what value is in for PartitionId - I've tried 0 and 1 so far and I'm only testing with a single server instance.

Perhaps the most important difference is that the call to RegisterCommunicationModule does not expose all of the RPC methods; I can call GetCommunicationModule and then I can see the missing methods but those methods require the PartitionId.

Okay, I found the problem; it is the scope of the using statement. In Visual Studio 2019 by default, the using statement did not include the class that implements the RPC methods.