-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] Fix Ruby client failure post Graal RC14 upgrade #725
Comments
FYI : primitive data types are working fine. Issues are there in composite or user defined data type |
As mentioned above ruby client - ruby server scenario works well with primitive type. To validate it, We have tested HanksTodoRuby app with RC6. RC7 and RC8. It works fine till RC8. We also tested HanksTodoRuby app with RC16 and it fails with user defined class. Change log in RC9: https://github.com/oracle/graal/blob/master/sdk/CHANGELOG.md#version-10-rc9 |
This issue can be closed as it is being tracked by another issue #658 |
Re-opening, as we can't remain stuck on RC8 forever. RC19 is now out. We need to fix this. Hopefully we can use a single Context, and the cross-context problem will go away. |
|
I have not looked into it at all. I just understood that we have two Graal Contexts and are trying to access between them, which is not allowed. Is it possible to place the objects in the same Graal Context? |
@quinton-hoole : I am not sure about placing objects in the single Graal Context. I am checking it currently. I will confirm it after my analysis. |
@quinton-hoole : As per discussion with the graalvm community we can not serialize and use the same context at the client side. They have given some other way to achieve this. We have to convert it to JSON string and send to client side and use it. I am doing this workaround currently. Discussion on Gitter: https://gitter.im/graalvm/graal-core : |
@maheshrajus Please avoid using JSON as the performance is (highly likely to be) very poor. Please use swift or protobuf instead (or at the very least measure the performance difference between these three before proceeding). |
Also, why is this only a problem for one particular language? |
@quinton-hoole : While converting to JSON string,I received some exceptions and checked the same with Graal community people. context object is not data object we can not convert to json. We have to check some other workaround other than single context. |
Yeah, I checked with java client with JS server and it is working perfectly. In this case also we are passing the non-primitive data object to context obj which created at the client side for deserializing the data. I am continuing my further analysis. |
1. Upgrade required GraalVM version 2. Fix GraalStubGenerator to work correctly with new GraalVM version. 3. Fix Graal unit tests to be compliant with ECMA script specification, as required by new GraalVM version.
1. Upgrade required GraalVM version 2. Fix GraalStubGenerator to work correctly with new GraalVM version. 3. Fix Graal unit tests to be compliant with ECMA script specification, as required by new GraalVM version.
To clarify, #817 does not fix this issue. The automated example scripts were simply not running the problematic case, and hence no errors were reported. The reported error is still as before, when run correctly:
I will now get to work on fixing the above, as well as making sure that the automated tests run all the required scenarios (i.e. all client languages, against all server languages, and with non-primitive types). |
@maheshrajus Did you get any further with your analysis of this issue? |
@maheshrajus By the way, great work on this so far! |
@maheshrajus Unfortunately it seems that there was a bug in the test you used to verify that java client to js server was working correctly. It seems that two unrelated instances of Date are being created and initialized to the current time. It just happened that the current time was within the same second, and the resolution of the printed output therefore made them look identical. I fixed the test as per below, and the values of the Date are indeed different:
Output:
|
Post Graal RC14 upgrade Ruby client with Ruby micro service support need fix.
Following is issue faced:
Umbrella issue #658
The text was updated successfully, but these errors were encountered: