String debugContains(DistributedMember member) { StringBuffer sb = new StringBuffer(); for (DistributedMember peer : getMembers()) { if (!peer.equals(member)) { InternalDistributedMember peerIDM = (InternalDistributedMember)peer; InternalDistributedMember memberIDM = (InternalDistributedMember)member; sb.append("peer port=").append(peerIDM.getPort()).append(" "); sb.append("member port=").append(memberIDM.getPort()).append(" "); } } return sb.toString(); }
@Override public int hashCode() { int result = 0; result = result + netMbr.getInetAddress().hashCode(); result = result + getPort(); return result; }
public static String getUniqueIDForMember(DistributedMember member) { InternalDistributedMember iMember = (InternalDistributedMember) member; final StringBuilder sb = new StringBuilder(); sb.append(iMember.getIpAddress().getHostAddress()); sb.append("<v" + iMember.getVmViewId() + ">"); // View ID will be 0 for // Loner, but in that case no // federation as well sb.append(iMember.getPort()); return makeCompliantName(sb.toString().toLowerCase());// Lower case to // handle IPv6 }
public static String getUniqueIDForMember(DistributedMember member) { InternalDistributedMember iMember = (InternalDistributedMember) member; final StringBuilder sb = new StringBuilder(); sb.append(iMember.getInetAddress().getHostAddress()); sb.append("<v" + iMember.getVmViewId() + ">"); // View ID will be 0 for // Loner, but in that case no // federation as well sb.append(iMember.getPort()); return makeCompliantName(sb.toString().toLowerCase());// Lower case to // handle IPv6 }
@Override public int hashCode() { return ClientResolverUtils.addIntToHashOpt( ipAddr.getIpAddress().hashCode(), getPort()); }
/** A unique string representation of this member that will never change */ public String canonicalString() { return getIpAddress().getHostAddress() + '(' + getVmPid() + "):" + getPort(); }
public String getDSMembership() { if (identity == null) { // some unit tests create IDs that have no real identity, so return null return "null"; } // don't cache if we haven't connected to the server yet if (((InternalDistributedMember)getDistributedMember()).getPort() == 0) { return getDistributedMember().toString(); } if (memberIdString == null) { memberIdString = getDistributedMember().toString(); } return memberIdString; }
public String getDSMembership() { if (identity == null) { // some unit tests create IDs that have no real identity, so return null return "null"; } // don't cache if we haven't connected to the server yet if (((InternalDistributedMember)getDistributedMember()).getPort() == 0) { return getDistributedMember().toString(); } if (memberIdString == null) { memberIdString = getDistributedMember().toString(); } return memberIdString; }
public void testUDPPortRange() throws Exception { Properties config = new Properties(); int mcastPort = AvailablePort.getRandomAvailablePort(AvailablePort.JGROUPS); int unicastPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET); config.setProperty("mcast-port", String.valueOf(mcastPort)); config.setProperty("locators", ""); // Minimum 3 ports required in range for UDP, FD_SOCK and TcpConduit. config.setProperty(DistributionConfig.MEMBERSHIP_PORT_RANGE_NAME, ""+unicastPort+"-"+(unicastPort+2)); system = (InternalDistributedSystem)DistributedSystem.connect(config); DistributionManager dm = (DistributionManager)system.getDistributionManager(); InternalDistributedMember idm = dm.getDistributionManagerId(); system.disconnect(); assertTrue(unicastPort <= idm.getPort() && idm.getPort() <= unicastPort+2); assertTrue(unicastPort <= idm.getPort() && idm.getDirectChannelPort() <= unicastPort+2); }
@Override public String toString() { if (this.identity != null && ((InternalDistributedMember)getDistributedMember()).getPort() == 0) { return this.toStringNoCache(); } if (this._toString == null) { this._toString = this.toStringNoCache(); } return this._toString; }
@Override public String toString() { if (this.identity != null && ((InternalDistributedMember)getDistributedMember()).getPort() == 0) { return this.toStringNoCache(); } if (this._toString == null) { this._toString = this.toStringNoCache(); } return this._toString; }
@Override public int getInt(int columnNumber) { ResultColumnDescriptor desc = columnInfo[columnNumber - 1]; if (desc.getType().getJDBCTypeId() != Types.INTEGER) { dataTypeConversion("integer", desc); } this.wasNull = false; final String columnName = desc.getName(); if (PID.equals(columnName)) { return this.currentMember.getProcessId(); } else if (PORT.equals(columnName)) { return this.currentMember.getPort(); } throw new GemFireXDRuntimeException("unexpected columnName " + columnName); }
@Override public int getInt(int columnNumber) throws SQLException { ResultColumnDescriptor desc = columnInfo[columnNumber - 1]; if (desc.getType().getJDBCTypeId() != Types.INTEGER) { throw dataTypeConversion("integer", desc); } this.wasNull = false; final String columnName = desc.getName(); if (PID.equals(columnName)) { return this.currentMember.getProcessId(); } else if (PORT.equals(columnName)) { return this.currentMember.getPort(); } throw new GemFireXDRuntimeException("unexpected columnName " + columnName); }
public void initialize() { receivedAcks = new ConcurrentHashSet<InternalDistributedMember>(); pingPonger = new GMSPingPonger(); // UUID logicalAddress = (UUID) channel.getAddress(); // IpAddress ipaddr = (IpAddress) channel.down(new Event(Event.GET_PHYSICAL_ADDRESS)); // // myAddress = new JGAddress(logicalAddress, ipaddr); myAddress = (JGAddress)channel.down(new Event(Event.GET_LOCAL_ADDRESS)); addressConversionMap = new ConcurrentHashMap<SocketAddress, InternalDistributedMember>(this.lastView.size()); List<InternalDistributedMember> members = this.lastView.getMembers(); for (InternalDistributedMember addr : members) { SocketAddress sockaddr = new InetSocketAddress(addr.getNetMember().getInetAddress(), addr.getPort()); addressConversionMap.put(sockaddr, addr); } isDebugEnabled = logger.isDebugEnabled(); resume(); }
/** * Returns the id of this distribution channel. If this channel * uses JavaGroups and the conduit to communicate with others, then * the port of the JavaGroups channel's {@link InternalDistributedMember address} is * returned. * * @since 3.0 */ public long getId() { InternalDistributedMember moi = membershipManager.getLocalMember(); if (moi == null) { throw new DistributedSystemDisconnectedException(LocalizedStrings.DistributionChannel_I_NO_LONGER_HAVE_A_MEMBERSHIP_ID.toLocalizedString(), membershipManager.getShutdownCause()); } return moi.getPort(); }
public void testMembershipPortRangeWithExactThreeValues() throws Exception { Properties config = new Properties(); int mcastPort = AvailablePort.getRandomAvailablePort(AvailablePort.JGROUPS); config.setProperty("mcast-port", String.valueOf(mcastPort)); config.setProperty("locators", ""); config.setProperty(DistributionConfig.MEMBERSHIP_PORT_RANGE_NAME, "" + (DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1] - 2) + "-" + (DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1])); system = (InternalDistributedSystem)DistributedSystem.connect(config); Cache cache = CacheFactory.create(system); cache.addCacheServer(); DistributionManager dm = (DistributionManager) system.getDistributionManager(); InternalDistributedMember idm = dm.getDistributionManagerId(); system.disconnect(); assertTrue(idm.getPort() <= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1]); assertTrue(idm.getPort() >= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[0]); assertTrue(idm.getDirectChannelPort() <= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1]); assertTrue(idm.getDirectChannelPort() >= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[0]); }
public JGAddress(InternalDistributedMember idm) { super(); GMSMember mbr = (GMSMember)idm.getNetMember(); this.mostSigBits = mbr.getUuidMSBs(); this.leastSigBits = mbr.getUuidLSBs(); this.ip_addr = idm.getInetAddress(); this.port = idm.getPort(); this.vmViewId = idm.getVmViewId(); }
@Override public int getInt(int columnNumber) { ResultColumnDescriptor desc = columnInfo[columnNumber - 1]; if (desc.getType().getJDBCTypeId() != Types.INTEGER) { dataTypeConversion("integer", desc.getType().getTypeName()); } this.wasNull = false; final String columnName = desc.getName(); if (PID.equals(columnName)) { return this.currentMember.getProcessId(); } else if (PORT.equals(columnName)) { return this.currentMember.getPort(); } throw new GemFireXDRuntimeException("unexpected columnName " + columnName); }
public void writeEssentialData(DataOutput out) throws IOException { Assert.assertTrue(vmKind > 0); DataSerializer.writeInetAddress(getInetAddress(), out); out.writeInt(getPort()); int flags = 0; if (netMbr.splitBrainEnabled()) flags |= SB_ENABLED_MASK; if (netMbr.preferredForCoordinator()) flags |= COORD_ENABLED_MASK; flags |= PARTIAL_ID_MASK; out.writeByte((byte)(flags & 0xff)); // out.writeInt(dcPort); out.writeByte(vmKind); if (this.vmKind == DistributionManager.LONER_DM_TYPE) { DataSerializer.writeString(this.uniqueTag, out); } else { // added in 6.5 for unique identifiers in P2P DataSerializer.writeString(String.valueOf(this.vmViewId), out); } // write name last to fix bug 45160 DataSerializer.writeString(this.name, out); if (InternalDataSerializer.getVersionForDataStream(out).compareTo(Version.GFE_90)>=0) { netMbr.writeAdditionalData(out); } }
/** * Returns the id of this distribution channel. If this channel * uses JavaGroups and the conduit to communicate with others, then * the port of the JavaGroups channel's {@link InternalDistributedMember address} is * returned. * * @since 3.0 */ public long getId() { MembershipManager mgr = this.membershipManager; if (mgr == null) { throw new DistributedSystemDisconnectedException(LocalizedStrings.DistributionChannel_I_NO_LONGER_HAVE_A_MEMBERSHIP_ID.toLocalizedString()); } InternalDistributedMember moi = mgr.getLocalMember(); if (moi == null) { throw new DistributedSystemDisconnectedException(LocalizedStrings.DistributionChannel_I_NO_LONGER_HAVE_A_MEMBERSHIP_ID.toLocalizedString(), membershipManager.getShutdownCause()); } return moi.getPort(); }