Skip to content

Add fast-wrapper #1032

@tomuben

Description

@tomuben

Background

It turns out we need to manipulate the "LD_LIBRARY_PATH" of the UDF client during the runtime. More specifically, we need to extend this environment variable coming from the database with specific values of the Script-Languages-Container, i.e. the path to the conda cuda-compat libraries.
As this is not possible in the UDF client itself (subsequent loading of shared libraries ignores the newly set environment variable), we need to implement a fast wrapper, similar to the slow wrapper bash scripts, but in C++.

Acceptance Criteria

  1. Implement a thin wrapper which get 's an aribrary list of environment variables to change from preprocessor variables (or maybe some form of template file). The wrapper should then extend the environment variables by prepending the values (using ::getenv() and ::setenv())
  2. The thin wrapper should call the real exaudfclient binary then with the passed arguments, via ::execve().
  3. Extend Bazel configs to pass the environment variables easily from the Dockerfile of the build_run step.
  4. Extend Bazel BUILD file to build the new fast wrapper and pass the new environment variable and pass the info about the real exaudfclient path
  5. Use this new config in the standard-Exasol-8-cuda-ml flavor

Alternative

Manipulate /etc/ld.cache.so. See comment below

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureProduct feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions