Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 1CAE4200D28 for ; Mon, 23 Oct 2017 19:32:50 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 1B0E31609E0; Mon, 23 Oct 2017 17:32:50 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 60AAA1609DF for ; Mon, 23 Oct 2017 19:32:49 +0200 (CEST) Received: (qmail 59856 invoked by uid 500); 23 Oct 2017 17:32:48 -0000 Mailing-List: contact issues-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list issues@flink.apache.org Received: (qmail 59847 invoked by uid 99); 23 Oct 2017 17:32:48 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Oct 2017 17:32:48 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id DA358C60F8 for ; Mon, 23 Oct 2017 17:32:47 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.021 X-Spam-Level: X-Spam-Status: No, score=-4.021 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id jrGLoGOA9sGm for ; Mon, 23 Oct 2017 17:32:44 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id DBB2960DC4 for ; Mon, 23 Oct 2017 17:32:43 +0000 (UTC) Received: (qmail 59300 invoked by uid 99); 23 Oct 2017 17:32:43 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Oct 2017 17:32:43 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id A3E18DFBC6; Mon, 23 Oct 2017 17:32:42 +0000 (UTC) From: StephanEwen To: issues@flink.incubator.apache.org Reply-To: issues@flink.incubator.apache.org References: In-Reply-To: Subject: [GitHub] flink pull request #4891: [FLINK-7669] Always load Flink classes via parent ... Content-Type: text/plain Message-Id: <20171023173242.A3E18DFBC6@git1-us-west.apache.org> Date: Mon, 23 Oct 2017 17:32:42 +0000 (UTC) archived-at: Mon, 23 Oct 2017 17:32:50 -0000 Github user StephanEwen commented on a diff in the pull request: https://github.com/apache/flink/pull/4891#discussion_r146338877 --- Diff: docs/monitoring/debugging_classloading.md --- @@ -57,22 +57,34 @@ YARN classloading differs between single job deployments and sessions: **Mesos** -Mesos setups following [this documentation](../ops/deployment/mesos.html) currently behave very much like the a +Mesos setups following [this documentation](../ops/deployment/mesos.html) currently behave very much like the a YARN session: The TaskManager and JobManager processes are started with the Flink framework classes in classpath, job classes are loaded dynamically when the jobs are submitted. +## Configuring ClassLoader Resolution Order + +Flink uses a hierarchy of ClassLoaders for loading classes from the user-code jar(s). The user-code +ClassLoader has a reference to the parent ClassLoader, which is the default Java ClassLoader in most +cases. By default, Java ClassLoaders will first look for classes in the parent ClassLoader and then in +the child ClassLoader for cases where we have a hierarchy of ClassLoaders. This is problematic if you +have in your user jar a version of a library that conflicts with a version that comes with Flink. You can +change this behaviour by configuring the ClassLoader resolution order via +`classloader.resolve-order: child-first` in the Flink config. However, Flink classes will still +be resolved through the parent ClassLoader first, altough you can also configure this via +`classloader.always-parent-first-patterns`, which is `org.apache.flink`, by default. --- End diff -- change `always-parent-first-patterns` to `parent-first-patterns`? ---