Uploaded image for project: 'REEF (Retired)'
  1. REEF (Retired)
  2. REEF-50

Creating driver config for .Net clients

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      Issue description

      Currently, for .Net clients to submit a job through REST API, they have to write C# client, and launch Java bridge client to generate driver.config with clr arguments. It requires .NET clients to have java installed at their machine and run java program. We are looking for a solution that can generate driver.config using C# without involve java code from client side.

      Proposed solution

      1. Create javadriver.config with java bridge Launch and JobClient without C# arguments in the configuration
      2. Serialize java class hierarchy and save it into a file
      3. Write a C# tool for C# client to generate driver.config
        1. Deserialize javadriver.config with java class hierarchy
        2. Bind clr arguments such as memory, submission directory, globalfiles, etc to the deserialized Configuration
        3. Serialize the new configuration into driver.config
      4. That’s it! Client just needs to run the tool with his clr arguments, he will get driver.config for him to submit the job with rest API.

      Notes

      1. Most java JobClient classes, handlers, configuration settings are relatively stable. We can modify the bridge JobClient little bit (use a flag for example) to generate javadriver.config without CLR config data. This javadriver.config can be shipped as part of the NuGet. If we change any classes in java bridge JobClient at development time, we need to regenerate this javadriver.config file and the java class hierarchy, and package them into the NuGet.
      2. Most of the CLR parameters are optional in driver config. We can leave them unbind at Java side. Then bind them at .Net side. The only one is DRIVER_IDENTIFIER that is a required parameter. One possible way is to change it to optional. In the C# tool, if client doesn’t supply it, we can assign a default value to it.

      Attachments

        Issue Links

          Activity

            People

              juliaw Julia Wang
              juliaw Julia Wang
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Slack

                  Issue deployment