Re: svn commit: r1843886 - in /tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud: CloudMembershipService.java KubernetesMembershipProvider.java
2018年10月16日(火) 16:33 Rémy Maucherat : > On Tue, Oct 16, 2018 at 7:37 AM Keiichi Fujino wrote: > > > 2018年10月15日(月) 17:39 : > > > > > > > +byte[] id = > > > md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); > > > member.setUniqueId(id); > > > members.add(member); > > > } > > > > > > > > > > > > > > Thanks for the fix. > > > > Is this uniqueId 16 bytes? > > The uniqueId should be 16 bytes in channel Specs. > > > > The MD5 should be a 128bit crap hash. The straight pod id is not 16 > bytes, > so that's the reason for the md5. > > Rémy > ok. thanks. -- Keiichi.Fujino
Re: svn commit: r1843886 - in /tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud: CloudMembershipService.java KubernetesMembershipProvider.java
On Tue, Oct 16, 2018 at 7:37 AM Keiichi Fujino wrote: > 2018年10月15日(月) 17:39 : > > > > +byte[] id = > > md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); > > member.setUniqueId(id); > > members.add(member); > > } > > > > > > > > > Thanks for the fix. > > Is this uniqueId 16 bytes? > The uniqueId should be 16 bytes in channel Specs. > > The MD5 should be a 128bit crap hash. The straight pod id is not 16 bytes, so that's the reason for the md5. Rémy
Re: svn commit: r1843886 - in /tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud: CloudMembershipService.java KubernetesMembershipProvider.java
2018年10月15日(月) 17:39 : > Author: remm > Date: Mon Oct 15 08:39:26 2018 > New Revision: 1843886 > > URL: http://svn.apache.org/viewvc?rev=1843886=rev > Log: > Try to get the member uid from the cloud, it seems more appropriate > overall. > > Modified: > > tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java > > tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java > > Modified: > tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java?rev=1843886=1843885=1843886=diff > > == > --- > tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java > (original) > +++ > tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java > Mon Oct 15 08:39:26 2018 > @@ -18,9 +18,6 @@ > package org.apache.catalina.tribes.membership.cloud; > > import java.io.IOException; > -import java.net.InetAddress; > -import java.security.MessageDigest; > -import java.security.NoSuchAlgorithmException; > > import javax.management.ObjectName; > > @@ -42,6 +39,7 @@ public class CloudMembershipService exte > public static final String MEMBERSHIP_PROVIDER_CLASS_NAME = > "membershipProviderClassName"; > private static final String KUBE = "kubernetes"; > private static final String KUBE_PROVIDER_CLASS = > "org.apache.catalina.tribes.membership.cloud.KubernetesMembershipProvider"; > +static final byte[] INITIAL_ID = new byte[16]; > > private MembershipProvider membershipProvider; > private MemberImpl localMember; > @@ -173,13 +171,7 @@ public class CloudMembershipService exte > > if (localMember == null) { > localMember = new MemberImpl(); > -try { > -// Set localMember unique ID to md5 hash of hostname > -localMember.setUniqueId(MessageDigest.getInstance("md5") > - > .digest(InetAddress.getLocalHost().getHostName().getBytes())); > -} catch (NoSuchAlgorithmException e) { > -throw new IOException(e); > -} > +localMember.setUniqueId(INITIAL_ID); > localMember.setLocal(true); > } > localMember.setHostname(host); > > Modified: > tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java?rev=1843886=1843885=1843886=diff > > == > --- > tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java > (original) > +++ > tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java > Mon Oct 15 08:39:26 2018 > @@ -203,10 +203,15 @@ public class KubernetesMembershipProvide > > // We found ourselves, ignore > if (name.equals(hostName)) { > +// Update the UID on initial lookup > +Member localMember = service.getLocalMember(false); > +if (localMember.getUniqueId() == > CloudMembershipService.INITIAL_ID && localMember instanceof MemberImpl) { > +byte[] id = > md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); > +((MemberImpl) localMember).setUniqueId(id); > +} > continue; > } > > -byte[] id = > md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); > long aliveTime = > Duration.between(Instant.parse(creationTimestamp), startTime).getSeconds() > * 1000; // aliveTime is in ms > > MemberImpl member = null; > @@ -218,6 +223,7 @@ public class KubernetesMembershipProvide > > log.error(sm.getString("kubernetesMembershipProvider.memberError"), e); > continue; > } > +byte[] id = > md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); > member.setUniqueId(id); > members.add(member); > } > > > > Thanks for the fix. Is this uniqueId 16 bytes? The uniqueId should be 16 bytes in channel Specs. > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > > -- > Keiichi.Fujino >
svn commit: r1843886 - in /tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud: CloudMembershipService.java KubernetesMembershipProvider.java
Author: remm Date: Mon Oct 15 08:39:26 2018 New Revision: 1843886 URL: http://svn.apache.org/viewvc?rev=1843886=rev Log: Try to get the member uid from the cloud, it seems more appropriate overall. Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java?rev=1843886=1843885=1843886=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipService.java Mon Oct 15 08:39:26 2018 @@ -18,9 +18,6 @@ package org.apache.catalina.tribes.membership.cloud; import java.io.IOException; -import java.net.InetAddress; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; import javax.management.ObjectName; @@ -42,6 +39,7 @@ public class CloudMembershipService exte public static final String MEMBERSHIP_PROVIDER_CLASS_NAME = "membershipProviderClassName"; private static final String KUBE = "kubernetes"; private static final String KUBE_PROVIDER_CLASS = "org.apache.catalina.tribes.membership.cloud.KubernetesMembershipProvider"; +static final byte[] INITIAL_ID = new byte[16]; private MembershipProvider membershipProvider; private MemberImpl localMember; @@ -173,13 +171,7 @@ public class CloudMembershipService exte if (localMember == null) { localMember = new MemberImpl(); -try { -// Set localMember unique ID to md5 hash of hostname -localMember.setUniqueId(MessageDigest.getInstance("md5") - .digest(InetAddress.getLocalHost().getHostName().getBytes())); -} catch (NoSuchAlgorithmException e) { -throw new IOException(e); -} +localMember.setUniqueId(INITIAL_ID); localMember.setLocal(true); } localMember.setHostname(host); Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java?rev=1843886=1843885=1843886=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java Mon Oct 15 08:39:26 2018 @@ -203,10 +203,15 @@ public class KubernetesMembershipProvide // We found ourselves, ignore if (name.equals(hostName)) { +// Update the UID on initial lookup +Member localMember = service.getLocalMember(false); +if (localMember.getUniqueId() == CloudMembershipService.INITIAL_ID && localMember instanceof MemberImpl) { +byte[] id = md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); +((MemberImpl) localMember).setUniqueId(id); +} continue; } -byte[] id = md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); long aliveTime = Duration.between(Instant.parse(creationTimestamp), startTime).getSeconds() * 1000; // aliveTime is in ms MemberImpl member = null; @@ -218,6 +223,7 @@ public class KubernetesMembershipProvide log.error(sm.getString("kubernetesMembershipProvider.memberError"), e); continue; } +byte[] id = md5.digest(uid.getBytes(StandardCharsets.US_ASCII)); member.setUniqueId(id); members.add(member); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org