'2017/03/20'에 해당되는 글 2건

  1. 2017.03.20 java9에서 사라지는 gc
  2. 2017.03.20 [cassandra3] Failed to add contact point 해결하기

이젠 cms를 java9에서 못 볼 듯...



http://openjdk.java.net/jeps/214


DefNew + CMS       : -XX:-UseParNewGC -XX:+UseConcMarkSweepGC
ParNew + SerialOld : -XX:+UseParNewGC
ParNew + iCMS      : -Xincgc
ParNew + iCMS      : -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC
DefNew + iCMS      : -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC -XX:-UseParNewGC
CMS foreground     : -XX:+UseCMSCompactAtFullCollection
CMS foreground     : -XX:+CMSFullGCsBeforeCompaction
CMS foreground     : -XX:+UseCMSCollectionPassing


Posted by '김용환'
,

cassandra 3.0에서 IllegalArgumentException : Failed to add contact point 예외가 발생했다.



Caused by: java.lang.IllegalArgumentException: Failed to add contact point:  1.1.1.2

at com.datastax.driver.core.Cluster$Builder.addContactPoint(Cluster.java:851)

at com.datastax.driver.core.Cluster$Builder.addContactPoints(Cluster.java:874)

Caused by: java.net.UnknownHostException:  172.17.56.91: unknown error

at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)

at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907)

at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302)

at java.net.InetAddress.getAllByName0(InetAddress.java:1255)



코드는 매우 간단했다..


String[] contactPoints = StringUtils.split(urls, ",")

cluster = Cluster.builder().addContactPoints(contactPoints).

withQueryOptions(queryOptions).

...




확인해보니,ip 목록을 받을 때 공백문자가 있으면 java에서는 unknown error가 발생한다. 


재현 코드는 다음과 같다. 


import java.net.*;

public class Test {

public static void main(String args[]) throws Exception{

InetAddress ipAddress=null;


ipAddress = InetAddress.getByName(" 1.1.1.2");

System.out.println("getHostName:"+ipAddress.getHostName());

System.out.println("getHostAddr:"+ipAddress.getHostAddress());

}

}




$ java Test

Exception in thread "main" java.net.UnknownHostException:  172.17.56.91: unknown error

at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)

at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907)

at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302)

at java.net.InetAddress.getAllByName0(InetAddress.java:1255)





이 문제 해결을 위해 단순하게 split만 하지 않고 공백 문자가 들어와도 공백을 없애도록 코드를 수정했다.


String[] contactPoints = Arrays.stream(StringUtils.split(urls, ",")).map(String::trim).toArray(String[]::new);



Posted by '김용환'
,