by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Daniel Zou
    @dzou
    Yes
    Artem Bilan
    @artembilan
    So, if we fail to produce a message to the outputChannel, we try to send it to the errorChannel
    if we haven't sent, we rethrow to the native consumer
    Daniel Zou
    @dzou
    Ah ok I see.
    Artem Bilan
    @artembilan
    and that's already its "native" logic what to do with an exception
    This comes from the MessageProducerSupport
    Daniel Zou
    @dzou
    Ah I see, In that case it seems that the native DLQ and error channel are separate concepts; like it wouldn't make sense to send a message to the native DLQ
    Artem Bilan
    @artembilan
    for the SourcePollingChannelAdapter there is an errorChannel option on the poller configuration
    Yes, we can treat it like that
    or we just implement it as a Binder DQL feature
    Daniel Zou
    @dzou
    I see I see, thanks this clarifies a lot
    Artem Bilan
    @artembilan
    for example there is no DLQ in Kafka or Kinesis
    Daniel Zou
    @dzou
    oh But Kafka and Kinesis have a binder DLQ feature?
    Artem Bilan
    @artembilan
    so, we send to the errorChannel which subscriber is going to produce to some preconfigured destination
    which we agreed to call "DLQ"
    Daniel Zou
    @dzou
    ohh ok I see
    Artem Bilan
    @artembilan
    We kinda emulate DLQ with errorChannel logic :smile:
    Daniel Zou
    @dzou
    Ahhh ok, I get it
    Thanks Artem!
    Mike Eltsufin
    @meltsufin
    So, reading this whole discussion it seems that we shouldn't need to do anything to support the "server-side" DLQ. It basically becomes an alternative to the more custom "client-side" DLQ (i.e. error channel). Is that correct?
    Artem Bilan
    @artembilan
    Yes, because with an errorChannel you have more choice what to do with that exception
    In fact we still support both feature in RabbitMQ binder with its native DLX feature
    (and retry if you wish to configure that: https://www.rabbitmq.com/dlx.html :smile: )
    Spencer Gibb
    @spencergibb
    GCP master has been failing on jenkins for the past few weeks
    [ERROR] Errors: 
    
    [ERROR]   GcpFirestoreEmulatorAutoConfigurationTests.testAutoConfigurationDisabled:65->lambda$testAutoConfigurationDisabled$1:66 » IllegalState
    
    [ERROR]   PubSubChannelAdaptersIntegrationTests.initializePubSubAdmin:100 » IO The Appli...
    2020-04-29 14:53:09.432 [main] WARN  o.s.c.g.c.DefaultCredentialsProvider - No core credentials are set. Service-specific credentials (e.g., spring.cloud.gcp.pubsub.credentials.*) should be used if your app uses services that require credentials.
    java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:134)
        at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:119)
        at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:91)
        at com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java:67)
        at org.springframework.cloud.gcp.core.DefaultCredentialsProvider.<init>(DefaultCredentialsProvider.java:110)
        at org.springframework.cloud.gcp.autoconfigure.core.GcpContextAutoConfiguration.googleCredentials(GcpContextAutoConfiguration.java:61)
        at org.springframework.cloud.gcp.autoconfigure.core.GcpContextAutoConfiguration$$EnhancerBySpringCGLIB$$3b4dcd17.CGLIB$googleCredentials$0(<generated>)
        at org.springframework.cloud.gcp.autoconfigure.core.GcpContextAutoConfiguration$$EnhancerBySpringCGLIB$$3b4dcd17$$FastClassBySpringCGLIB$$63237771.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
        at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
        at org.springframework.cloud.gcp.autoconfigure.core.GcpContextAutoConfiguration$$EnhancerBySpringCGLIB$$3b4dcd17.googleCredentials(<generated>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    for both tests
    dmitry-s
    @dmitry-s
    Thanks, we will look into that
    Elena Felder
    @elefeint
    The second one is an integration test. I thought Jenkins only ran unit tests?
    for the first one (testAutoConfigurationDisabled), do you have more of the exception?
    Spencer Gibb
    @spencergibb
    i can get the whole exception
    Spencer Gibb
    @spencergibb
    Stacktrace
    
    java.lang.IllegalStateException: Unstarted application context org.springframework.boot.test.context.assertj.AssertableApplicationContext[startupFailure=org.springframework.beans.factory.BeanCreationException] failed to start
        at org.springframework.cloud.gcp.autoconfigure.firestore.GcpFirestoreEmulatorAutoConfigurationTests.lambda$testAutoConfigurationDisabled$1(GcpFirestoreEmulatorAutoConfigurationTests.java:66)
        at org.springframework.cloud.gcp.autoconfigure.firestore.GcpFirestoreEmulatorAutoConfigurationTests.testAutoConfigurationDisabled(GcpFirestoreEmulatorAutoConfigurationTests.java:65)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'firestoreGrpcStub' defined in org.springframework.cloud.gcp.autoconfigure.firestore.GcpFirestoreAutoConfiguration$FirestoreReactiveAutoConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.google.firestore.v1.FirestoreGrpc$FirestoreStub]: Factory method 'firestoreGrpcStub' threw exception; nested exception is java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        at org.springframework.cloud.gcp.autoconfigure.firestore.GcpFirestoreEmulatorAutoConfigurationTests.testAutoConfigurationDisabled(GcpFirestoreEmulatorAutoConfigurationTests.java:65)
    Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.google.firestore.v1.FirestoreGrpc$FirestoreStub]: Factory method 'firestoreGrpcStub' threw exception; nested exception is java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        at org.springframework.cloud.gcp.autoconfigure.firestore.GcpFirestoreEmulatorAutoConfigurationTests.testAutoConfigurationDisabled(GcpFirestoreEmulatorAutoConfigurationTests.java:65)
    Caused by: java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        at org.springframework.cloud.gcp.autoconfigure.firestore.GcpFirestoreEmulatorAutoConfigurationTests.testAutoConfigurationDisabled(GcpFirestoreEmulatorAutoConfigurationTests.java:65)
    
    Standard Output
    
    2020-04-29 14:53:09.432 [main] WARN  o.s.c.g.c.DefaultCredentialsProvider - No core credentials are set. Service-specific credentials (e.g., spring.cloud.gcp.pubsub.credentials.*) should be used if your app uses services that require credentials.
    java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
        at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:134)
        at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:119)
        at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:91)
        at com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java:67)
        at org.springframework.cloud.gcp.core.DefaultCredentialsProvide
    Mike Eltsufin
    @meltsufin
    None of the integration tests should run on Jenkins. The fact that they're running, means that we haven't guarded them correctly. We'll look into it.
    Spencer Gibb
    @spencergibb
    thanks
    Mike Eltsufin
    @meltsufin
    Can you try now? We've merged some fixes into master.
    Spencer Gibb
    @spencergibb
    it runs on commits
    previous two failed because of timeouts, another is running now
    Mike Eltsufin
    @meltsufin
    ok
    Spencer Gibb
    @spencergibb
    15:27:08 [WARNING] The requested profile "integration" could not be activated because it does not exist.
    15:27:08 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project spring-cloud-gcp-autoconfigure: There are test failures.
    15:27:08 [ERROR] 
    15:27:08 [ERROR] Please refer to /opt/jenkins/data/workspace/spring-cloud-gcp-master-ci/spring-cloud-gcp-autoconfigure/target/surefire-reports for the individual test results.
    15:27:08 [ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
    15:27:08 [ERROR] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
    15:27:08 [ERROR] Command was /bin/sh -c cd /opt/jenkins/data/workspace/spring-cloud-gcp-master-ci/spring-cloud-gcp-autoconfigure && /opt/jenkins/data/tools/hudson.model.JDK/jdk8/jdk8u242-b08/jre/bin/java -Xms512m -Xmx512m -jar /opt/jenkins/data/workspace/spring-cloud-gcp-master-ci/spring-cloud-gcp-autoconfigure/target/surefire/surefirebooter8584766599733985121.jar /opt/jenkins/data/workspace/spring-cloud-gcp-master-ci/spring-cloud-gcp-autoconfigure/target/surefire 2020-04-29T19-19-45_220-jvmRun1 surefire6552173577966896357tmp surefire_124939491256990973031tmp
    15:27:08 [ERROR] Error occurred in starting fork, check output in log
    15:27:08 [ERROR] Process Exit Code: 143
    15:27:08 [ERROR] Crashed tests:
    15:27:08 [ERROR] org.springframework.cloud.gcp.autoconfigure.datastore.GcpDatastoreAutoConfigurationTests
    15:27:08 [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
    15:27:08 [ERROR] Command was /bin/sh -c cd /opt/jenkins/data/workspace/spring-cloud-gcp-master-ci/spring-cloud-gcp-autoconfigure && /opt/jenkins/data/tools/hudson.model.JDK/jdk8/jdk8u242-b08/jre/bin/java -Xms512m -Xmx512m -jar /opt/jenkins/data/workspace/spring-cloud-gcp-master-ci/spring-cloud-gcp-autoconfigure/target/surefire/surefirebooter8584766599733985121.jar /opt/jenkins/data/workspace/spring-cloud-gcp-master-ci/spring-cloud-gcp-autoconfigure/target/surefire 2020-04-29T19-19-45_220-jvmRun1 surefire6552173577966896357tmp surefire_124939491256990973031tmp
    15:27:08 [ERROR] Error occurred in starting fork, check output in log
    15:27:08 [ERROR] Process Exit Code: 143
    15:27:08 [ERROR] Crashed tests:
    15:27:08 [ERROR] org.springframework.cloud.gcp.autoconfigure.datastore.GcpDatastoreAutoConfigurationTests
    15:27:08 [ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:669)
    15:27:08 [ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282)
    15:27:08 [ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
    15:27:08 [ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183)
    15:27:08 [ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011)
    15:27:08 [ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857)
    15:27:08 [ERROR]     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    15:27:08 [ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    15:27:08 [ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    15:27:08 [ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    15:27:08 [ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    15:27:08 [ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    15:27:08 [ERROR]     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    15:27:08 [ERROR]     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
    Elena Felder
    @elefeint
    I am going to merge a PR to trigger another build -- I am curious if the new failure will be in the same place. JVM crashing is... odd
    Spencer Gibb
    @spencergibb
    yeah
    Elena Felder
    @elefeint
    merged
    Spencer Gibb
    @spencergibb
    same error
    Elena Felder
    @elefeint
    do you know when the build last passed?
    Spencer Gibb
    @spencergibb
    Apr 15, 2020 4:31 PM
    Daniel Zou
    @dzou
    Hey Spencer, I will try to reproduce locally; i think the answer to the issue is in the log file that gets produced (the line Error occurred in starting fork, check output in log) but unfortunately the error is not outputted to console.
    Is there any special configuration for the Jenkins CI or is it roughly equivalent to try running the build on a clean container instance?
    Spencer Gibb
    @spencergibb
    nothing out of the ordinary
    Elena Felder
    @elefeint
    Could you keep an eye on the latest build? I pushed a hail Mary
    Sorry, not sure what timezone you are in; happy to pick it up tomorrow, too
    Spencer Gibb
    @spencergibb
    3 green builds!