[
https://issues.jboss.org/browse/JGRP-2363?page=com.atlassian.jira.plugin....
]
Howard Gao commented on JGRP-2363:
----------------------------------
Thanks Sebastian. I got some error doing "mvn clean install", it gives me the
following message:
Jul 29, 2019 4:33:19 AM org.sonatype.guice.bean.reflect.Logs$JULSink warn
WARNING: Error injecting: io.fabric8.maven.plugin.ResourceMojo
com.google.inject.ProvisionException: Guice provision errors:
1) No implementation for io.fabric8.maven.core.util.GoalFinder was bound.
while locating io.fabric8.maven.plugin.ResourceMojo
1 error
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1006)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1032)
at
org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:45)
at
com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
at
com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:138)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047)
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:83)
at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:49)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:245)
at
org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:455)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:31.903s
[INFO] Finished at: Mon Jul 29 04:33:20 EDT 2019
[INFO] Final Memory: 18M/137M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.fabric8:fabric8-maven-plugin:3.1.11:resource (default)
on project jgroups-dns-ping: Execution default of goal
io.fabric8:fabric8-maven-plugin:3.1.11:resource failed: Unable to load the mojo
'resource' (or one of its required components) from the plugin
'io.fabric8:fabric8-maven-plugin:3.1.11': com.google.inject.ProvisionException:
Guice provision errors:
[ERROR]
[ERROR] 1) No implementation for io.fabric8.maven.core.util.GoalFinder was bound.
[ERROR] while locating io.fabric8.maven.plugin.ResourceMojo
[ERROR] at ClassRealm[plugin>io.fabric8:fabric8-maven-plugin:3.1.11, parent:
sun.misc.Launcher$AppClassLoader@7852e922]
[ERROR] while locating org.apache.maven.plugin.Mojo annotated with
@com.google.inject.name.Named(value=io.fabric8:fabric8-maven-plugin:3.1.11:resource)
[ERROR]
[ERROR] 1 error
[ERROR] role: org.apache.maven.plugin.Mojo
[ERROR] roleHint: io.fabric8:fabric8-maven-plugin:3.1.11:resource
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the
following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
My java version is 1.8.0_212, and maven version is Maven 3.0.5 (Red Hat 3.0.5-17)
What could be wrong?
Thanks
Howard
DNS Ping cannot lookup SRV record for service port
--------------------------------------------------
Key: JGRP-2363
URL:
https://issues.jboss.org/browse/JGRP-2363
Project: JGroups
Issue Type: Bug
Affects Versions: 4.0.20
Reporter: Howard Gao
Assignee: Bela Ban
Priority: Major
Attachments: App2.java
I've got a problem regarding getting service port in DNS_PING DNS lookup.
It seems in my openshift environment the JNDI DNS lookup cannot query the
correct SRV record from the openshift DNS server. Ref:
https://github.com/jboss-openshift/openshift-ping/blob/1.2.1.Final/dns/sr...
For example, here is the ping service:
apiVersion: v1
kind: Service
metadata:
annotations:
description: The JGroups ping port for clustering.
service.alpha.kubernetes.io/tolerate-unready-endpoints: 'true'
labels:
application: application0
template: amq-broker-73-persistence-clustered
xpaas: 1.4.16
name: application0-ping
spec:
clusterIP: None
publishNotReadyAddresses: true
ports:
port: 8888
protocol: TCP
name: jgroup-port
targetPort: 8888
selector:
deploymentConfig: application0-amq
After it is deployed I deployed a application pod
with JGroups DNS_PING protocol loaded. The relevant
jgroups xml part looks like this:
<config> ... <openshift.DNS_PING timeout="3000"
serviceName="application0-ping" /> ... </config>
After my application pod is in running state, I checked the log
and there is a warning message from DNS_PING:
2019-07-22 04:16:59,600 INFO [org.openshift.ping.common.Utils] 3 attempt(s) with a 1000ms
sleep to execute [GetServicePort] failed. Last failure was
[java.lang.NullPointerException: null]
2019-07-22 04:16:59,601 WARNING [org.jgroups.protocols.openshift.DNS_PING] No DNS SRV
record found for service [application0-ping]
After some debugging it turns out that the DNS lookup for the record by this name
"_tcp.application0-ping" returned null.
However if I logged into the application pod and do nslookup it will give me correct
record:
sh-5.0# nslookup -type=srv _tcp.application0-ping
Server: 10.74.177.77
Address: 10.74.177.77#53
_tcp.application0-ping.default.svc.cluster.local service = 10 100 8888
44c84e52.application0-ping.default.svc.cluster.local.
And you can get the full name from the record, which is
_tcp.application0-ping.default.svc.cluster.local
If I then pass the full qualified name into the application and it can query the SRV
record successfully.
I have no idea why my application can't query the record using the short form name
(i.e. _tcp.application0-ping). Could it be some configuration issue for the DNS ping?
My openshift env details are:
oc v3.11.117
kubernetes v1.11.0+d4cacc0
features: Basic-Auth GSSAPI Kerberos SPNEGO
and the java version used in pod:
sh-5.0# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
and the base OS is fedora 30.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)