Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-6215

Race between lib_cache and java udf class loading

    Details

    • Epic Color:
      ghx-label-1

      Description

      There's a race between the lib_cache (backend) and UdfExecutor's class loading (frontend).

      A sequence of events that exposes this race is as follows:

      1. Backend hive-udf-call, in Init obtains the cached, local path to the jar containing the java
      method to run
      2. A function that is contained in the cached jar is dropped
      3. The impala server, on a separate thread learns of the dropped function, so blows away the
      containing jar
      4. Backend hive-udf-call is opened, which constructs the UdfExecutor given the cached path
      to the jar that has just been deleted. A classloader is created with that path-- when the
      class is resolved, we get a ClassNotFound exception

      An example of this sequence shows up occasionally and is the reason for the following flake:
      https://issues.apache.org/jira/browse/IMPALA-6092

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                vukercegovac Vuk Ercegovac
                Reporter:
                vukercegovac Vuk Ercegovac
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: