Created
March 3, 2011 09:09
-
-
Save ekelog/852536 to your computer and use it in GitHub Desktop.
EsBugTest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cluster.name: testCluster107 | |
gateway.type: fs | |
index.gateway.snapshot_interval : -1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.elasticsearch.action.ActionFuture; | |
import org.elasticsearch.action.ActionResponse; | |
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; | |
import org.elasticsearch.action.admin.indices.create.CreateIndexRequest; | |
import org.elasticsearch.action.admin.indices.create.CreateIndexResponse; | |
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest; | |
import org.elasticsearch.action.admin.indices.delete.DeleteIndexResponse; | |
import org.elasticsearch.action.index.IndexRequest; | |
import org.elasticsearch.action.index.IndexResponse; | |
import org.elasticsearch.client.Client; | |
import org.elasticsearch.client.IndicesAdminClient; | |
import org.elasticsearch.client.Requests; | |
import org.elasticsearch.client.transport.TransportClient; | |
import org.elasticsearch.common.settings.ImmutableSettings; | |
import org.elasticsearch.common.settings.Settings; | |
import org.elasticsearch.common.settings.loader.JsonSettingsLoader; | |
import org.elasticsearch.common.settings.loader.YamlSettingsLoader; | |
import org.elasticsearch.common.transport.InetSocketTransportAddress; | |
import java.net.InetSocketAddress; | |
import java.util.HashMap; | |
import java.util.Map; | |
public class EsBugTest { | |
String es_clusterName="testCluster107"; | |
String es_hostName="192.168.1.107"; | |
int es_port=9300; | |
int timeout=1000; | |
Client client; | |
public static void main(String[]args) throws Exception | |
{ | |
new EsBugTest().testBug(); | |
} | |
private void testBug() throws Exception | |
{ | |
String indexName="axios_views"; | |
try{ | |
connect(); | |
try{ | |
System.out.println("delete index "+indexName); | |
deleteIndex(indexName); | |
} | |
catch(Exception e){ | |
System.out.println("Can not delete index "+indexName+"Reason:"+ e); | |
} | |
Thread.sleep(1000); | |
System.out.println("create index "+indexName); | |
createIndex(indexName); | |
Thread.sleep(1000); | |
HashMap props1 = buildProps("",65); | |
HashMap props2 = buildProps("",1); | |
System.out.println(" indexing leo_airports props "+props1); | |
indexProps("axios_views","leo_airports",props1); | |
System.out.println(" indexing leo_cities props "+props2); | |
indexProps("axios_views","leo_cities",props2); | |
System.out.println(" indexing leo_airports props "+props1); | |
indexProps("axios_views","leo_airports",props1); | |
System.out.println(" indexing leo_cities props "+props2); | |
indexProps("axios_views","leo_cities",props2); | |
} | |
finally | |
{ | |
disconnect(); | |
} | |
} | |
private HashMap buildProps(String prefix,int size) | |
{ | |
HashMap props=new HashMap<String, String>(); | |
for(int it=0;it<size;it++) | |
{ | |
String key=prefix+"prop_"+it; | |
props.put(key,"a"); | |
} | |
return props; | |
} | |
private void indexProps(String indexName,String type,Map props) | |
{ | |
IndexRequest indexRequest = new IndexRequest(indexName); | |
indexRequest.type(type); | |
indexRequest.source(props, Requests.CONTENT_TYPE); | |
indexRequest.opType(IndexRequest.OpType.INDEX); | |
ActionFuture<IndexResponse> future=client.index(indexRequest); | |
IndexResponse response = future.actionGet(timeout); | |
} | |
private boolean deleteIndex(String indexName) throws Exception{ | |
DeleteIndexRequest deleteRequest = new DeleteIndexRequest(indexName); | |
IndicesAdminClient adminClient = client.admin().indices(); | |
ActionFuture<DeleteIndexResponse> future=adminClient.delete(deleteRequest); | |
DeleteIndexResponse response = future.actionGet(timeout); | |
return response.acknowledged(); | |
} | |
private boolean createIndex(String indexName) throws Exception { | |
Map<String, String> config = new HashMap<String, String>(); | |
Settings settings = ImmutableSettings.settingsBuilder().put(config).build(); | |
CreateIndexRequest createRequest = new CreateIndexRequest(indexName, settings); | |
IndicesAdminClient adminClient = client.admin().indices(); | |
ActionFuture<CreateIndexResponse> future=adminClient.create(createRequest); | |
CreateIndexResponse createResponse = future.actionGet(timeout); | |
return createResponse.acknowledged(); | |
} | |
private void connect() throws Exception{ | |
Map<String, String> m = new HashMap<String, String>(); | |
m.put("cluster.name", es_clusterName); | |
Settings s = ImmutableSettings.settingsBuilder().put(m).build(); | |
client = new TransportClient(s); | |
try{ | |
((TransportClient) client).addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress(es_hostName, es_port))); | |
ClusterHealthRequest healthRequest = new ClusterHealthRequest(); | |
client.admin().cluster().health(healthRequest).actionGet(); | |
} | |
catch(Exception e) | |
{ | |
client.close(); | |
throw e; | |
} | |
} | |
private void disconnect() { | |
client.close(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
delete index axios_views | |
Can not delete index axios_viewsReason:org.elasticsearch.transport.RemoteTransportException: [Kiber the Cruel][inet[/192.168.1.107:9300]][indices/deleteIndex] | |
create index axios_views | |
indexing leo_airports props {prop_52=a, prop_5=a, prop_51=a, prop_4=a, prop_54=a, prop_7=a, prop_53=a, prop_6=a, prop_56=a, prop_9=a, prop_55=a, prop_8=a, prop_58=a, prop_57=a, prop_10=a, prop_1=a, prop_11=a, prop_0=a, prop_12=a, prop_50=a, prop_13=a, prop_3=a, prop_14=a, prop_2=a, prop_48=a, prop_49=a, prop_43=a, prop_42=a, prop_41=a, prop_40=a, prop_47=a, prop_46=a, prop_45=a, prop_44=a, prop_39=a, prop_37=a, prop_38=a, prop_34=a, prop_33=a, prop_36=a, prop_35=a, prop_30=a, prop_32=a, prop_31=a, prop_26=a, prop_27=a, prop_28=a, prop_29=a, prop_25=a, prop_24=a, prop_23=a, prop_22=a, prop_21=a, prop_59=a, prop_20=a, prop_60=a, prop_61=a, prop_19=a, prop_62=a, prop_17=a, prop_63=a, prop_18=a, prop_64=a, prop_15=a, prop_16=a} | |
indexing leo_cities props {prop_0=a} | |
indexing leo_airports props {prop_52=a, prop_5=a, prop_51=a, prop_4=a, prop_54=a, prop_7=a, prop_53=a, prop_6=a, prop_56=a, prop_9=a, prop_55=a, prop_8=a, prop_58=a, prop_57=a, prop_10=a, prop_1=a, prop_11=a, prop_0=a, prop_12=a, prop_50=a, prop_13=a, prop_3=a, prop_14=a, prop_2=a, prop_48=a, prop_49=a, prop_43=a, prop_42=a, prop_41=a, prop_40=a, prop_47=a, prop_46=a, prop_45=a, prop_44=a, prop_39=a, prop_37=a, prop_38=a, prop_34=a, prop_33=a, prop_36=a, prop_35=a, prop_30=a, prop_32=a, prop_31=a, prop_26=a, prop_27=a, prop_28=a, prop_29=a, prop_25=a, prop_24=a, prop_23=a, prop_22=a, prop_21=a, prop_59=a, prop_20=a, prop_60=a, prop_61=a, prop_19=a, prop_62=a, prop_17=a, prop_63=a, prop_18=a, prop_64=a, prop_15=a, prop_16=a} | |
indexing leo_cities props {prop_0=a} | |
Exception in thread "main" org.elasticsearch.transport.RemoteTransportException: [Kiber the Cruel][inet[/192.168.1.107:9300]][indices/index/shard/index] | |
Caused by: org.elasticsearch.index.mapper.MapperParsingException: Failed to parse | |
at org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:470) | |
at org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:368) | |
at org.elasticsearch.index.shard.service.InternalIndexShard.prepareCreate(InternalIndexShard.java:250) | |
at org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:187) | |
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:418) | |
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.access$100(TransportShardReplicationOperationAction.java:233) | |
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:331) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) | |
at java.lang.Thread.run(Thread.java:619) | |
Caused by: org.elasticsearch.common.jackson.JsonParseException: Invalid shared name reference 17; only got 0 names in buffer (invalid content) | |
at [Source: [B@17b6643; line: 1, column: 7] | |
at org.elasticsearch.common.jackson.JsonParser._constructError(JsonParser.java:1213) | |
at org.elasticsearch.common.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:375) | |
at org.elasticsearch.common.jackson.smile.SmileParser._reportInvalidSharedName(SmileParser.java:1805) | |
at org.elasticsearch.common.jackson.smile.SmileParser._handleFieldName(SmileParser.java:740) | |
at org.elasticsearch.common.jackson.smile.SmileParser.nextToken(SmileParser.java:348) | |
at org.elasticsearch.common.xcontent.json.JsonXContentParser.nextToken(JsonXContentParser.java:46) | |
at org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:400) | |
... 9 more |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment