You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2020/03/26 17:09:05 UTC

[GitHub] [flink] zentol opened a new pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

zentol opened a new pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536
 
 
   If no resource can be instantiated we now throw an exception with a suppressed exception for every resource candidate that could not be instantiated.
   Before you'd get a generic exception, with the actual cause only being logged.
   
   Additionally this Pr consolidates logging to significantly reduce code duplication.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] zentol merged pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
zentol merged pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536
 
 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] rmetzger commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
rmetzger commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#discussion_r400955480
 
 

 ##########
 File path: flink-end-to-end-tests/flink-end-to-end-tests-common/src/main/java/org/apache/flink/tests/util/util/FactoryUtils.java
 ##########
 @@ -43,24 +45,43 @@
 	 * @throws RuntimeException if no or multiple resources could be instantiated
 	 * @return created instance
 	 */
-	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final Function<F, Optional<R>> factoryInvoker, final Supplier<F> defaultProvider) {
+	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final FactoryInvoker<F, R> factoryInvoker, final Supplier<F> defaultProvider) {
 		final ServiceLoader<F> factories = ServiceLoader.load(factoryInterface);
 
-		final List<R> resources = StreamSupport.stream(factories.spliterator(), false)
-			.map(factoryInvoker)
-			.filter(Optional::isPresent)
-			.map(Optional::get)
-			.collect(Collectors.toList());
+		final List<R> instantiatedResources = new ArrayList<>();
+		final List<Exception> errorsDuringInitialization = new ArrayList<>();
+		for (F factory : factories) {
+			try {
+				R resource = factoryInvoker.invoke(factory);
+				instantiatedResources.add(resource);
+				LOG.info("Instantiated {}.", resource.getClass().getSimpleName());
+			} catch (Exception e) {
+				LOG.debug("Factory {} could not instantiate instance.", factory.getClass().getSimpleName(), e);
+				errorsDuringInitialization.add(e);
+			}
+		}
 
-		if (resources.size() == 1) {
-			return resources.get(0);
+		if (instantiatedResources.size() == 1) {
+			return instantiatedResources.get(0);
 		}
 
-		if (resources.isEmpty()) {
-			return factoryInvoker.apply(defaultProvider.get())
-				.orElseThrow(() -> new RuntimeException("Could not instantiate instance using default factory."));
+		if (instantiatedResources.isEmpty()) {
+			try {
+				return factoryInvoker.invoke(defaultProvider.get());
+			} catch (Exception e) {
+				final RuntimeException exception = new RuntimeException("Could not instantiate instance.");
 
 Review comment:
   Thanks a lot! 
   I can confirm that the error reporting is much better now!-

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 02744178a91af131c0be0337a18e7cc65303495d Travis: [PENDING](https://travis-ci.com/github/flink-ci/flink/builds/155602541) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] rmetzger commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
rmetzger commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#discussion_r399508649
 
 

 ##########
 File path: flink-end-to-end-tests/flink-end-to-end-tests-common/src/main/java/org/apache/flink/tests/util/util/FactoryUtils.java
 ##########
 @@ -43,24 +45,43 @@
 	 * @throws RuntimeException if no or multiple resources could be instantiated
 	 * @return created instance
 	 */
-	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final Function<F, Optional<R>> factoryInvoker, final Supplier<F> defaultProvider) {
+	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final FactoryInvoker<F, R> factoryInvoker, final Supplier<F> defaultProvider) {
 		final ServiceLoader<F> factories = ServiceLoader.load(factoryInterface);
 
-		final List<R> resources = StreamSupport.stream(factories.spliterator(), false)
-			.map(factoryInvoker)
-			.filter(Optional::isPresent)
-			.map(Optional::get)
-			.collect(Collectors.toList());
+		final List<R> instantiatedResources = new ArrayList<>();
+		final List<Exception> errorsDuringInitialization = new ArrayList<>();
+		for (F factory : factories) {
+			try {
+				R resource = factoryInvoker.invoke(factory);
+				instantiatedResources.add(resource);
+				LOG.info("Instantiated {}.", resource.getClass().getSimpleName());
+			} catch (Exception e) {
+				LOG.debug("Factory {} could not instantiate instance.", factory.getClass().getSimpleName(), e);
+				errorsDuringInitialization.add(e);
+			}
+		}
 
-		if (resources.size() == 1) {
-			return resources.get(0);
+		if (instantiatedResources.size() == 1) {
+			return instantiatedResources.get(0);
 		}
 
-		if (resources.isEmpty()) {
-			return factoryInvoker.apply(defaultProvider.get())
-				.orElseThrow(() -> new RuntimeException("Could not instantiate instance using default factory."));
+		if (instantiatedResources.isEmpty()) {
+			try {
+				return factoryInvoker.invoke(defaultProvider.get());
+			} catch (Exception e) {
+				final RuntimeException exception = new RuntimeException("Could not instantiate instance.");
 
 Review comment:
   (General comment: I'm not familiar enough with this part of the code yet to feel really qualified for a comment here, so I'm potentially shooting in the dark with this feedback item):
   
   Are we sure that we can always ignore the `Exception e`? 
   Does it make sense to add it as a cause to the `RuntimeException`, or log it on DEBUG level?
   
   The CI on Azure for this PR was failing with the following error:
   
   ```
   [INFO] Running org.apache.flink.tests.util.kafka.StreamingKafkaITCase
   [ERROR] Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 0.006 s <<< FAILURE! - in org.apache.flink.tests.util.kafka.StreamingKafkaITCase
   [ERROR] testKafka[0: kafka-version:0.10.2.0](org.apache.flink.tests.util.kafka.StreamingKafkaITCase)  Time elapsed: 0.004 s  <<< ERROR!
   java.lang.RuntimeException: Could not instantiate instance.
   	at org.apache.flink.tests.util.kafka.StreamingKafkaITCase.<init>(StreamingKafkaITCase.java:72)
   
   [ERROR] testKafka[1: kafka-version:0.11.0.2](org.apache.flink.tests.util.kafka.StreamingKafkaITCase)  Time elapsed: 0.001 s  <<< ERROR!
   java.lang.RuntimeException: Could not instantiate instance.
   	at org.apache.flink.tests.util.kafka.StreamingKafkaITCase.<init>(StreamingKafkaITCase.java:72)
   
   [ERROR] testKafka[2: kafka-version:2.2.0](org.apache.flink.tests.util.kafka.StreamingKafkaITCase)  Time elapsed: 0 s  <<< ERROR!
   java.lang.RuntimeException: Could not instantiate instance.
   	at org.apache.flink.tests.util.kafka.StreamingKafkaITCase.<init>(StreamingKafkaITCase.java:72)
   ```
   
   I would have assumed that this PR is improving the exception output for this case specifically.
   
   I wonder if throwing a RuntimeException here is the right approach? Maybe we should have a checked exception type for this, so that we are forced to handle it at the call site (`FlinkResource.get()`, where we could rethrow with additonal information ("Error instantiating FlinkResource")).
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155954245",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 802f318ba4f27032ff3dc74372dfd2e6ede50bb8 Travis: [PENDING](https://travis-ci.com/github/flink-ci/flink/builds/155954245) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] zentol commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
zentol commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#discussion_r399539228
 
 

 ##########
 File path: flink-end-to-end-tests/flink-end-to-end-tests-common/src/main/java/org/apache/flink/tests/util/util/FactoryUtils.java
 ##########
 @@ -43,24 +45,43 @@
 	 * @throws RuntimeException if no or multiple resources could be instantiated
 	 * @return created instance
 	 */
-	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final Function<F, Optional<R>> factoryInvoker, final Supplier<F> defaultProvider) {
+	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final FactoryInvoker<F, R> factoryInvoker, final Supplier<F> defaultProvider) {
 		final ServiceLoader<F> factories = ServiceLoader.load(factoryInterface);
 
-		final List<R> resources = StreamSupport.stream(factories.spliterator(), false)
-			.map(factoryInvoker)
-			.filter(Optional::isPresent)
-			.map(Optional::get)
-			.collect(Collectors.toList());
+		final List<R> instantiatedResources = new ArrayList<>();
+		final List<Exception> errorsDuringInitialization = new ArrayList<>();
+		for (F factory : factories) {
+			try {
+				R resource = factoryInvoker.invoke(factory);
+				instantiatedResources.add(resource);
+				LOG.info("Instantiated {}.", resource.getClass().getSimpleName());
+			} catch (Exception e) {
+				LOG.debug("Factory {} could not instantiate instance.", factory.getClass().getSimpleName(), e);
+				errorsDuringInitialization.add(e);
+			}
+		}
 
-		if (resources.size() == 1) {
-			return resources.get(0);
+		if (instantiatedResources.size() == 1) {
+			return instantiatedResources.get(0);
 		}
 
-		if (resources.isEmpty()) {
-			return factoryInvoker.apply(defaultProvider.get())
-				.orElseThrow(() -> new RuntimeException("Could not instantiate instance using default factory."));
+		if (instantiatedResources.isEmpty()) {
+			try {
+				return factoryInvoker.invoke(defaultProvider.get());
+			} catch (Exception e) {
+				final RuntimeException exception = new RuntimeException("Could not instantiate instance.");
 
 Review comment:
   So, generally speaking it shouldn't be necessary to include `e` as a cause, the reason being that the default provider is usually included in the set of factories returned by `ServiceLoader.load`. This also implies that the error is already being logged.
   There is only one exception to this which is the `LolCache`, which generally speaking should never fail (technically it could if it can't create a TemporaryDirectory, but then you likely have bigger problems).
   
   Handling at the call-site doesn't really give us a lot; we can't handle the error but only slightly enhance the error message which shouldn't be necessary in the first place. For some reason the stack trace is being trimmed to ridiculous degrees; which may also cause the suppressed exception to not be shown.
   
   I will investigate why this happens; I did try it with the `FlinkResoure` without `distDir` being set (the original original cause for this PR), and it displayed the right exception. But IIRC I did that in the IDE, so maybe maven/surefire is getting in the way here.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] zentol commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
zentol commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#discussion_r399549128
 
 

 ##########
 File path: flink-end-to-end-tests/flink-end-to-end-tests-common/src/main/java/org/apache/flink/tests/util/util/FactoryUtils.java
 ##########
 @@ -43,24 +45,43 @@
 	 * @throws RuntimeException if no or multiple resources could be instantiated
 	 * @return created instance
 	 */
-	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final Function<F, Optional<R>> factoryInvoker, final Supplier<F> defaultProvider) {
+	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final FactoryInvoker<F, R> factoryInvoker, final Supplier<F> defaultProvider) {
 		final ServiceLoader<F> factories = ServiceLoader.load(factoryInterface);
 
-		final List<R> resources = StreamSupport.stream(factories.spliterator(), false)
-			.map(factoryInvoker)
-			.filter(Optional::isPresent)
-			.map(Optional::get)
-			.collect(Collectors.toList());
+		final List<R> instantiatedResources = new ArrayList<>();
+		final List<Exception> errorsDuringInitialization = new ArrayList<>();
+		for (F factory : factories) {
+			try {
+				R resource = factoryInvoker.invoke(factory);
+				instantiatedResources.add(resource);
+				LOG.info("Instantiated {}.", resource.getClass().getSimpleName());
+			} catch (Exception e) {
+				LOG.debug("Factory {} could not instantiate instance.", factory.getClass().getSimpleName(), e);
+				errorsDuringInitialization.add(e);
+			}
+		}
 
-		if (resources.size() == 1) {
-			return resources.get(0);
+		if (instantiatedResources.size() == 1) {
+			return instantiatedResources.get(0);
 		}
 
-		if (resources.isEmpty()) {
-			return factoryInvoker.apply(defaultProvider.get())
-				.orElseThrow(() -> new RuntimeException("Could not instantiate instance using default factory."));
+		if (instantiatedResources.isEmpty()) {
+			try {
+				return factoryInvoker.invoke(defaultProvider.get());
+			} catch (Exception e) {
+				final RuntimeException exception = new RuntimeException("Could not instantiate instance.");
 
 Review comment:
   This issue didn't show up in my test since I tried it with the Prometheus test which doesn't go through `FlinkResource.get` but directly works against a specific factory, so we're never within FactoryUtils.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot commented on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot commented on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604555169
 
 
   Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community
   to review your pull request. We will use this comment to track the progress of the review.
   
   
   ## Automated Checks
   Last check on commit 02744178a91af131c0be0337a18e7cc65303495d (Thu Mar 26 17:11:23 UTC 2020)
   
   **Warnings:**
    * No documentation files were touched! Remember to keep the Flink docs up to date!
   
   
   <sub>Mention the bot in a comment to re-run the automated checks.</sub>
   ## Review Progress
   
   * ❓ 1. The [description] looks good.
   * ❓ 2. There is [consensus] that the contribution should go into to Flink.
   * ❓ 3. Needs [attention] from.
   * ❓ 4. The change fits into the overall [architecture].
   * ❓ 5. Overall code [quality] is good.
   
   Please see the [Pull Request Review Guide](https://flink.apache.org/contributing/reviewing-prs.html) for a full explanation of the review process.<details>
    The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot approve description` to approve one or more aspects (aspects: `description`, `consensus`, `architecture` and `quality`)
    - `@flinkbot approve all` to approve all aspects
    - `@flinkbot approve-until architecture` to approve everything until `architecture`
    - `@flinkbot attention @username1 [@username2 ..]` to require somebody's attention
    - `@flinkbot disapprove architecture` to remove an approval you gave earlier
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot commented on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot commented on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 02744178a91af131c0be0337a18e7cc65303495d UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155954245",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6816",
       "triggerID" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/156475949",
       "triggerID" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 802f318ba4f27032ff3dc74372dfd2e6ede50bb8 Travis: [SUCCESS](https://travis-ci.com/github/flink-ci/flink/builds/155954245) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774) 
   * a96a67f9c1aeacc4b6e8c63149597c0beb39e771 Travis: [PENDING](https://travis-ci.com/github/flink-ci/flink/builds/156475949) Azure: [PENDING](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6816) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155954245",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 02744178a91af131c0be0337a18e7cc65303495d Travis: [SUCCESS](https://travis-ci.com/github/flink-ci/flink/builds/155602541) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690) 
   * 802f318ba4f27032ff3dc74372dfd2e6ede50bb8 Travis: [PENDING](https://travis-ci.com/github/flink-ci/flink/builds/155954245) Azure: [PENDING](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 02744178a91af131c0be0337a18e7cc65303495d Travis: [SUCCESS](https://travis-ci.com/github/flink-ci/flink/builds/155602541) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155954245",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6816",
       "triggerID" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/156475949",
       "triggerID" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a96a67f9c1aeacc4b6e8c63149597c0beb39e771 Travis: [PENDING](https://travis-ci.com/github/flink-ci/flink/builds/156475949) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6816) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155954245",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6816",
       "triggerID" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "status" : "FAILURE",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/156475949",
       "triggerID" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a96a67f9c1aeacc4b6e8c63149597c0beb39e771 Travis: [FAILURE](https://travis-ci.com/github/flink-ci/flink/builds/156475949) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6816) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 02744178a91af131c0be0337a18e7cc65303495d Travis: [SUCCESS](https://travis-ci.com/github/flink-ci/flink/builds/155602541) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690) 
   * 802f318ba4f27032ff3dc74372dfd2e6ede50bb8 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155954245",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "a96a67f9c1aeacc4b6e8c63149597c0beb39e771",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 802f318ba4f27032ff3dc74372dfd2e6ede50bb8 Travis: [SUCCESS](https://travis-ci.com/github/flink-ci/flink/builds/155954245) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774) 
   * a96a67f9c1aeacc4b6e8c63149597c0beb39e771 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 02744178a91af131c0be0337a18e7cc65303495d Travis: [PENDING](https://travis-ci.com/github/flink-ci/flink/builds/155602541) Azure: [PENDING](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#issuecomment-604563654
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155602541",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "02744178a91af131c0be0337a18e7cc65303495d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6690",
       "triggerID" : "02744178a91af131c0be0337a18e7cc65303495d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/155954245",
       "triggerID" : "802f318ba4f27032ff3dc74372dfd2e6ede50bb8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 802f318ba4f27032ff3dc74372dfd2e6ede50bb8 Travis: [SUCCESS](https://travis-ci.com/github/flink-ci/flink/builds/155954245) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6774) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] zentol commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
zentol commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#discussion_r399539228
 
 

 ##########
 File path: flink-end-to-end-tests/flink-end-to-end-tests-common/src/main/java/org/apache/flink/tests/util/util/FactoryUtils.java
 ##########
 @@ -43,24 +45,43 @@
 	 * @throws RuntimeException if no or multiple resources could be instantiated
 	 * @return created instance
 	 */
-	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final Function<F, Optional<R>> factoryInvoker, final Supplier<F> defaultProvider) {
+	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final FactoryInvoker<F, R> factoryInvoker, final Supplier<F> defaultProvider) {
 		final ServiceLoader<F> factories = ServiceLoader.load(factoryInterface);
 
-		final List<R> resources = StreamSupport.stream(factories.spliterator(), false)
-			.map(factoryInvoker)
-			.filter(Optional::isPresent)
-			.map(Optional::get)
-			.collect(Collectors.toList());
+		final List<R> instantiatedResources = new ArrayList<>();
+		final List<Exception> errorsDuringInitialization = new ArrayList<>();
+		for (F factory : factories) {
+			try {
+				R resource = factoryInvoker.invoke(factory);
+				instantiatedResources.add(resource);
+				LOG.info("Instantiated {}.", resource.getClass().getSimpleName());
+			} catch (Exception e) {
+				LOG.debug("Factory {} could not instantiate instance.", factory.getClass().getSimpleName(), e);
+				errorsDuringInitialization.add(e);
+			}
+		}
 
-		if (resources.size() == 1) {
-			return resources.get(0);
+		if (instantiatedResources.size() == 1) {
+			return instantiatedResources.get(0);
 		}
 
-		if (resources.isEmpty()) {
-			return factoryInvoker.apply(defaultProvider.get())
-				.orElseThrow(() -> new RuntimeException("Could not instantiate instance using default factory."));
+		if (instantiatedResources.isEmpty()) {
+			try {
+				return factoryInvoker.invoke(defaultProvider.get());
+			} catch (Exception e) {
+				final RuntimeException exception = new RuntimeException("Could not instantiate instance.");
 
 Review comment:
   So, generally speaking it shouldn't be necessary to include `e` as a cause, the reason being that the default provider is usually included in the set of factories returned by `ServiceLoader.load`. This also implies that the error is already being logged.
   There is only one exception to this which is the `LolCache`, which generally speaking should never fail (technically it could if it can't create a TemporaryDirectory, but then you likely have bigger problems).
   
   Handling at the call-size doesn't really give us a lot; we can't handle the error but only slightly enhance the error message which shouldn't be necessary in the first place. For some reason the stack trace is being trimmed to ridiculous degrees; which may also cause the suppressed exception to not be shown.
   
   I will investigate why this happens; I did try it with the `FlinkResoure` without `distDir` being set (the original original cause for this PR), and it displayed the right exception. But IIRC I did that in the IDE, so maybe maven/surefire is getting in the way here.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] zentol commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors

Posted by GitBox <gi...@apache.org>.
zentol commented on a change in pull request #11536: [FLINK-16807][e2e] Improve reporting for instantiation errors 
URL: https://github.com/apache/flink/pull/11536#discussion_r399548766
 
 

 ##########
 File path: flink-end-to-end-tests/flink-end-to-end-tests-common/src/main/java/org/apache/flink/tests/util/util/FactoryUtils.java
 ##########
 @@ -43,24 +45,43 @@
 	 * @throws RuntimeException if no or multiple resources could be instantiated
 	 * @return created instance
 	 */
-	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final Function<F, Optional<R>> factoryInvoker, final Supplier<F> defaultProvider) {
+	public static <R, F> R loadAndInvokeFactory(final Class<F> factoryInterface, final FactoryInvoker<F, R> factoryInvoker, final Supplier<F> defaultProvider) {
 		final ServiceLoader<F> factories = ServiceLoader.load(factoryInterface);
 
-		final List<R> resources = StreamSupport.stream(factories.spliterator(), false)
-			.map(factoryInvoker)
-			.filter(Optional::isPresent)
-			.map(Optional::get)
-			.collect(Collectors.toList());
+		final List<R> instantiatedResources = new ArrayList<>();
+		final List<Exception> errorsDuringInitialization = new ArrayList<>();
+		for (F factory : factories) {
+			try {
+				R resource = factoryInvoker.invoke(factory);
+				instantiatedResources.add(resource);
+				LOG.info("Instantiated {}.", resource.getClass().getSimpleName());
+			} catch (Exception e) {
+				LOG.debug("Factory {} could not instantiate instance.", factory.getClass().getSimpleName(), e);
+				errorsDuringInitialization.add(e);
+			}
+		}
 
-		if (resources.size() == 1) {
-			return resources.get(0);
+		if (instantiatedResources.size() == 1) {
+			return instantiatedResources.get(0);
 		}
 
-		if (resources.isEmpty()) {
-			return factoryInvoker.apply(defaultProvider.get())
-				.orElseThrow(() -> new RuntimeException("Could not instantiate instance using default factory."));
+		if (instantiatedResources.isEmpty()) {
+			try {
+				return factoryInvoker.invoke(defaultProvider.get());
+			} catch (Exception e) {
+				final RuntimeException exception = new RuntimeException("Could not instantiate instance.");
 
 Review comment:
   > [...] the default provider is usually included in the set of factories returned by ServiceLoader.load.
   
   So this is wrong. Neither the Flink nor Kafka resources have a services resource file, and are always loaded as default resources.
   
   I have amended the PR to also include the error of the default resource.
   
   I have found the reason for the trimmed stack trace (FLINK-16837, surefire being stupid and old) and have provided a fix for it in this PR.
   
   The exception will now look like this:
   ```
   java.lang.RuntimeException: Could not instantiate any instance.
           at org.apache.flink.tests.util.util.FactoryUtils.loadAndInvokeFactory(FactoryUtils.java:72)
           at org.apache.flink.tests.util.flink.FlinkResource.get(FlinkResource.java:75)
           at org.apache.flink.metrics.prometheus.tests.PrometheusReporterEndToEndITCase.<init>(PrometheusReporterEndToEndITCase.java:117)
           at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
           at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
           at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
           at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
           at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217)
           at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266)
           at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
           at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263)
           at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
           at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
           at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
           at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
           at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
           at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
           at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
           at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
           at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
           at org.junit.runners.Suite.runChild(Suite.java:128)
           at org.junit.runners.Suite.runChild(Suite.java:27)
           at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
           at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
           at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
           at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
           at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
           at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
           at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55)
           at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137)
           at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107)
           at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83)
           at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)
           at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:158)
           at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
           at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
           at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
           at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
           Suppressed: java.lang.RuntimeException: Could not instantiate default instance.
                   at org.apache.flink.tests.util.util.FactoryUtils.loadAndInvokeFactory(FactoryUtils.java:73)
                   ... 37 more
           Caused by: java.lang.IllegalArgumentException: The distDir property was not set. You can set it when running maven via -DdistDir=<path> .
                   at org.apache.flink.tests.util.flink.LocalStandaloneFlinkResourceFactory.create(LocalStandaloneFlinkResourceFactory.java:43)
                   at org.apache.flink.tests.util.flink.FlinkResource.lambda$get$0(FlinkResource.java:77)
                   at org.apache.flink.tests.util.util.FactoryUtils.loadAndInvokeFactory(FactoryUtils.java:70)
                   ... 37 more
   ```
   
   It is a tad long, but surefire isn't flexible in this regard, and I rather have an exception that is verbose than one that hides critical information.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services