Git Product home page Git Product logo

mesh's People

Contributors

alshain avatar apagtxmo avatar aschauerhuber avatar bernhardriegler avatar berni2288 avatar dajenacuko avatar deckdom avatar dovidio avatar enizhou avatar genticsdev avatar guggi avatar jdbranham avatar jotschi avatar jurbunic avatar karowin avatar kdima001 avatar medv avatar mephinet avatar michaelbromley avatar netwarex avatar npomaroli avatar onerandomgig avatar patrickhoefer avatar philippguertler avatar plyhun avatar rhoxhaj avatar trecloux avatar udovidio avatar yrucrem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mesh's Issues

Gentics Mesh Website

  • Add landing page for executives
  • Add share links to blog
  • Upgrade Mesh Website to Gentics Mesh 0.9.x
  • Enable HTTPs on getmesh.io

Clustering

Add clustering support

  • OrientDB clustering
  • Vert.x clustering
  • Elasticsearch clustering
  • Clustering tests - 2 PT
    • Project creation
    • Project update
    • Search index update
    • Project deletion
    • Node update
    • Permission update and change distribution
    • Node creation
    • Node publishing
  • Documentation - 0.5 PT

Order in micronode list gets shuffled when the list has at least 40 micronodes

Gentics Mesh Version, operating system, or hardware.

  • v0.9.18

Operating System

  • Linux

JVM

  • Open JDK 1.8.0_100

Problem

See title

Reproducer

  1. Create a node of schema that has a micronode list field
  2. Add 40 micronodes to that field, but remember the order
  3. The response of that node update is fine, but fetching the node again shows the error

Expected behaviour and actual behaviour

Expected: After getting the node I expect the order of the list to be the same as I posted it.
Actual: The order seems to be random. I could not see a pattern.

Schema-Fieldname containing special chars causes graphql to fail

Gentics Mesh Version, operating system, or hardware.

  • v0.9.27

Problem

If a schema or microschema contains a character which is not alphanumeric (or '_') all queries to graphql fail. With the following exception

15:03:53.951 [Dumbstruck Monferno] ERROR [vert.x-eventloop-thread-4] [FailureHandler.java:91] - Error for request in path: /api/v1/kofl/graphql/?null
15:03:53.952 [Dumbstruck Monferno] ERROR [vert.x-eventloop-thread-4] [FailureHandler.java:93] - Error:
graphql.AssertException: Name must be non-null, non-empty and match [_A-Za-z][_0-9A-Za-z]*
        at graphql.Assert.assertValidName(Assert.java:35) ~[mesh-server-0.9.27.jar:na]
        at graphql.schema.GraphQLFieldDefinition.<init>(GraphQLFieldDefinition.java:35) ~[mesh-server-0.9.27.jar:na]
        at graphql.schema.GraphQLFieldDefinition$Builder.build(GraphQLFieldDefinition.java:215) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.graphql.type.field.FieldDefinitionProvider.createStringDef(FieldDefinitionProvider.java:173) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.graphql.type.field.MicronodeFieldTypeProvider.generateMicroschemaFieldType(MicronodeFieldTypeProvider.java:86) ~[mesh-server-0.9.27.
jar:na]
        at com.gentics.mesh.graphql.type.field.MicronodeFieldTypeProvider.createType(MicronodeFieldTypeProvider.java:49) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.graphql.type.QueryTypeProvider.getRootSchema(QueryTypeProvider.java:436) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.graphql.GraphQLHandler.handleQuery(GraphQLHandler.java:56) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.graphql.GraphQLEndpoint.lambda$registerEndPoints$0(GraphQLEndpoint.java:50) ~[mesh-server-0.9.27.jar:na]
        at io.vertx.ext.web.impl.RouteImpl.handleContext(RouteImpl.java:217) [mesh-server-0.9.27.jar:na]
        at io.v

And the following http-response body

{
  "message" : "Name must be non-null, non-empty and match [_A-Za-z][_0-9A-Za-z]*"
}

Expected behaviour

It should not be possible to add schemas or microschemas containing fieldnames with special chars. Alternatively the error message returned to the user should be more descriptive (containing the schema and fieldname where the error occurs)

Reindex creates bogus indices

Problem

Assuming that a NGFC has not yet been migrated and is linked to an older schema container version. This schema container version is not linked to the branch.

The reindex operation will process this container and store it in an index although the index will never be used by mesh.

The main problem is that ES will implicitly create an empty index and store the documents in that index. No mapping will be created and thus various merge errors can happen.

Expected behaviour and actual behaviour

The reindex operation should ignore those elements and not handle them. A warning or debug message should perhaps be logged.

Consistency Checks

We need to be able to assert the database consistency of existing mesh instances.

Remove NoTx

Currently a lot of transactions utilize OrientDB noTx transactions. Those transactions can potentially cause side effects. Mesh should only use regular transactions.

Fix edge cases / add missing implementation

Edge cases

  • Cross Project Content - We need to ensure that content linking is limited to a single project. Otherwise GraphQL will not work.
  • Fileupload - The file upload is currently not checking against the mimetype whilelist of the schema.
    Moving Tags - It is currently not possible to move tags in between tag families. Tag reference update will not work.
  • Node Field - The segmentField is currently not populated or checked against the schema.
  • Read with Role - Currently it is not possible to read an element using a dedicated role.
  • Number Field - The number field limits are currently not handled.
  • Schema whitelisting - This is not yet implemented for node field schema
  • Image Manipulation - Bogus query parameters must be checked and an meaningful error message must be returned.

Potential pitfalls

  • Update permissions - A admin user could potentially update his own permission set of the admin role and restrict him on updating objects.
  • Tag Conflicts - Tags are currently assigned to a tagroot. Newly created tags that have the same name will cause an error. It is therefore not possible to have two tags with the same assigned each to a different tagfamily.
  • Node Field Updates - Node field updates are not checking the permissions on the node field.
  • Node Field Read - Node fields are not checked against permissions of the user.
  • Delete node - Delete a folder which has subfolders that are read only: Undefined behavior. Missing permissions on a folder stop deletion and missing permission on a file just cause an warning. name. The field would need to be a string field. The field would need to be mandatory.
  • Node Move/Delete Folder - Node move may cause problems when moving to a folder that can be deleted.

Questions / Other

  • Tag deletion - Should tags be deleted when they are removed from the tagfamily? โ†’ TagFamilyImpl.removeTag(tag)

Possible Feature

  • Schema whitelisting - Currently it is not possible to restrict the creation of nodes in a given schema for a given parent node. A node of any schema can be created in the parent node.
  • Role creation - It would be useful to inherit permissions from an existing role when creating a new one.
  • Binary Fields in Micronodes - Currently it is not allowed to add binary fields in micronodes. We should check whether we actually want this since those fields may not be usable for webroot resolving.
  • Binary Field List - It is currently not possible to have a binary field list which holds multiple binary fields.

Done

  • Applying recursive permissions takes a long time
  • File Download - Currently it is not possible to download segments of a file. This would be very useful for video streaming. (Http 206 - Content-Range) - #533
  • Search Index Handling - The search index handling is currently iterating over all found items since document level permission are not handled within ES. See #26

Make versioning optional

Make versioning optional

It would be useful to make the creation of versions optional.
In some cases nodes may be updated very often and this would create a lot of versions.

Microschema & Schema naming conflict

Gentics Mesh Version, operating system, or hardware.

  • v0.9.x

Problem

When a microschema and a regular schema share the same name, it causes conflicts in the GraphQL search and interface.

Nice URL Support

It should be possible to store a nice URL for each node. This URL can be used to serve the node with the specified path. Thus it acts similar to an alias.

We need to ensure that there are no conflicts between Nice URL's and regular Webroot URL's.

  • Tests (versioning, fallback)
  • Tests (graphql)
  • Docs
  • UI
  • Changelog
  • Implementation
  • Demo examples
  • Thirdparty support

Show publish and readPublished permissions only for nodes

Gentics Mesh Version, operating system, or hardware.

  • v0.9.14

Operating System

  • Linux
  • MacOSX
  • Windows
  • Other Unix
  • Other, name?

JVM

  • Oracle JDK 8
  • Open JDK 8

Problem

At the moment, all permissions are visible for all elements in Mesh. This also means that there are publish and readPublished permissions for elements where it does not make sense. For example, a user can't be published, but still has these permissions.

Reproducer

Request a user /api/v1/users/{UUID}

Expected behaviour and actual behaviour

Remove these two permissions for anything that is not a node.
Actual Response:

{
  "uuid" : "17cc209506074bbb8c20950607dbbbae",
  "creator" : {
    "uuid" : "17cc209506074bbb8c20950607dbbbae"
  },
  "created" : "2017-04-28T13:15:34Z",
  "editor" : {
    "uuid" : "17cc209506074bbb8c20950607dbbbae"
  },
  "edited" : "2017-04-28T13:15:34Z",
  "username" : "anonymous",
  "enabled" : true,
  "groups" : [ {
    "name" : "anonymous",
    "uuid" : "48468badd1064eea868badd1065eea7a"
  } ],
  "permissions" : {
    "create" : true,
    "read" : true,
    "update" : true,
    "delete" : true,
    "publish" : true,
    "readPublished" : true
  }
}

Expected response:

{
  "uuid" : "17cc209506074bbb8c20950607dbbbae",
  "creator" : {
    "uuid" : "17cc209506074bbb8c20950607dbbbae"
  },
  "created" : "2017-04-28T13:15:34Z",
  "editor" : {
    "uuid" : "17cc209506074bbb8c20950607dbbbae"
  },
  "edited" : "2017-04-28T13:15:34Z",
  "username" : "anonymous",
  "enabled" : true,
  "groups" : [ {
    "name" : "anonymous",
    "uuid" : "48468badd1064eea868badd1065eea7a"
  } ],
  "permissions" : {
    "create" : true,
    "read" : true,
    "update" : true,
    "delete" : true
  }
}

OSS Launch

Mesh Java API - Binary upload improvement

At the moment it is only possible to upload a binary by providing one buffer to the updateNodeBinaryField method.

It should also be possible to write multiple buffers and then end the request (like Vert.x).

Upgrade to Elasticsearch 6.x

We currently use Elasticsearch 2.4.x

I have already evaluated the upgrade within the dev-versioning-es5 branch.
It turns out that the batch delete handling would need to be rewritten. Various API's have changed.

SSO Provider

Check whether it is viable to use Gentics Mesh as a SSO provider.

Schema migration error handling

Error handling

When a schema is updated and an error occurs on a node migration, no error is logged.

Also the migration aborts resulting in some nodes migrated and some not. The nodes which are not migrated can't be updated by a schema update anymore.
TODO: Create an endpoint which migrates all nodes with older schema version to the most recent schema version.

It can happen that a migration fails due to webroot uniqueness checks or script errors. It must be possible to fix the script error and retry the migration.

Option A

Wait for Versioning and rollback the entire migration. This way a new migration can be executed.

Option B

Update a specific change script and execute the migration again.
Note: This may not fix errors which occur due to uniqueness checks.

Extra

It would be good to lock nodes which have been migrated by a migration that has not yet been completed. Additionally it should not be possible to create new nodes using a schema which has been created by a migration which has not yet been completed.

Nodes disappear from search after microschema update

Gentics Mesh Version, operating system, or hardware.

  • v0.9.27

Problem

I updated a microschema which threw an exception (see below). After this all nodes which used this microschema where not available in the search. Reindexing all data also threw an exception. (see below)

Exception after microschema update:

09:41:48.986 [Dumbstruck Monferno] ERROR [vert.x-worker-thread-10] [NodeMigrationVerticle.java:345] - Migration for schema/microschema {2aeec206b6f54074aec206b6f560740c} failed with error.
com.gentics.mesh.core.rest.error.GenericRestException: 400 Bad Request Target version uuid {d8ed12dbf1724c73ad12dbf1720c7362} of microschema {2aeec206b6f54074aec206b6f560740c} could not be found. params {}
        at com.gentics.mesh.core.rest.error.Errors.error(Errors.java:85) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.core.verticle.node.NodeMigrationVerticle.lambda$null$2(NodeMigrationVerticle.java:219) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.graphdb.spi.Database.lambda$tx$1(Database.java:93) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.graphdb.OrientDBDatabase.tx(OrientDBDatabase.java:521) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.graphdb.spi.Database.tx(Database.java:92) ~[mesh-server-0.9.27.jar:na]
        at com.gentics.mesh.core.verticle.node.NodeMigrationVerticle.lambda$registerMicroschemaMigration$3(NodeMigrationVerticle.java:196) ~[mesh-server-0.9.27.jar:na]
        at io.vertx.core.eventbus.impl.HandlerRegistration.deliver(HandlerRegistration.java:212) ~[mesh-server-0.9.27.jar:na]
        at io.vertx.core.eventbus.impl.HandlerRegistration.handle(HandlerRegistration.java:191) ~[mesh-server-0.9.27.jar:na]
        at io.vertx.core.eventbus.impl.EventBusImpl.lambda$deliverToHandler$3(EventBusImpl.java:524) ~[mesh-server-0.9.27.jar:na]
        at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:337) ~[mesh-server-0.9.27.jar:na]
        at io.vertx.core.impl.TaskQueue.lambda$new$0(TaskQueue.java:60) ~[mesh-server-0.9.27.jar:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_131]

Exception when reindexing:

09:51:53.093 [Dumbstruck Monferno] ERROR [elasticsearch[Dumbstruck Monferno][listener][T#1]] [ElasticSearchProvider.java:354] - Adding object {c2cf78118db24c928
f78118db23c9264-de:node} to index failed. Duration 64[ms]
java.lang.IllegalArgumentException: mapper [fields.ancillaryExpenses] of different type, current_type [double], merged_type [long]
        at org.elasticsearch.index.mapper.FieldMapper.doMerge(FieldMapper.java:378) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.core.NumberFieldMapper.doMerge(NumberFieldMapper.java:301) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.FieldMapper.merge(FieldMapper.java:364) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.FieldMapper.merge(FieldMapper.java:53) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.object.ObjectMapper.doMerge(ObjectMapper.java:528) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.object.ObjectMapper.merge(ObjectMapper.java:501) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.object.ObjectMapper.merge(ObjectMapper.java:60) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.object.ObjectMapper.doMerge(ObjectMapper.java:528) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.object.RootObjectMapper.doMerge(RootObjectMapper.java:277) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.object.ObjectMapper.merge(ObjectMapper.java:501) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.object.RootObjectMapper.merge(RootObjectMapper.java:272) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.Mapping.merge(Mapping.java:112) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.index.mapper.DocumentMapper.merge(DocumentMapper.java:376) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.applyRequest(MetaDataMappingService.java:260) ~[mesh-server-0.9.27.jar:n
a]
        at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.execute(MetaDataMappingService.java:230) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:480) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:784) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.j
ava:231) ~[mesh-server-0.9.27.jar:na]
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)
 ~[mesh-server-0.9.27.jar:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]

The same exception is thrown for also for other nodes (e.g. 535016673ab94dd09016673ab96dd0e2) and different fields (e.g. 'fields.rent')

The zipped data dir can be downloaded here: https://filebox.apa-it.at/index.php/s/ImfljjYBnRq99IA

Publishing error due to missing parent node language

We need to add testcase for the following situation:

Publish the node "Deutsch" using POST /api/v1/nodes/:DeutschUuid/published?lang=de
The node Deutsch has a parent Node English which only contains an english field container.

The assertPublishConsistency check is currently failing because the fallback check tries to assert that the node English also contains a german field container which is published.

Mesh sometimes takes a lot of time to shutdown

Gentics Mesh Version, operating system, or hardware.

  • v0.9.17

Operating System

  • Linux

JVM

  • Oracle JDK 8

Problem

When sending SIGINT signal to mesh, it sometimes takes more than 2 minutes for mesh to shutdown.

Reproducer

Can't be reproduced. It happens sometimes.

Here is a thread dump when it took longer.
It seems that waiting for the searchQueue is blocking the shutdown (MeshImpl.java#251).

Disconnected from the target VM, address: '127.0.0.1:34993', transport: 'socket'
Jun 29, 2017 8:37:21 AM com.orientechnologies.common.log.OLogManager log
WARNUNG: Received signal: SIGINT
Jun 29, 2017 8:37:21 AM com.orientechnologies.common.log.OLogManager log
INFORMATION: Orient Engine is shutting down...
Jun 29, 2017 8:37:21 AM com.orientechnologies.common.log.OLogManager log
INFORMATION: - shutdown storage: graphdb...
Jun 29, 2017 8:37:21 AM com.orientechnologies.common.log.OLogManager log
INFORMATION: OrientDB Engine shutdown complete
2017-06-29 08:37:21,777 [Impudent Ludicolo] INFO  [MeshImpl.java:248] - Mesh shutting down...
2017-06-29 08:39:06
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.121-b13 mixed mode):

"vert.x-internal-blocking-2" #126 prio=5 os_prio=0 tid=0x0000000002600800 nid=0x1269 waiting on condition [0x00007f12f4281000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b8240> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"Thread-0" #12 prio=5 os_prio=0 tid=0x00007f12f80eb800 nid=0x1268 in Object.wait() [0x00007f12e017e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at com.gentics.mesh.core.data.search.impl.SearchQueueImpl.blockUntilEmpty(SearchQueueImpl.java:62)
	- locked <0x00000006c81dcc90> (a java.lang.Object)
	at com.gentics.mesh.cli.MeshImpl.shutdown(MeshImpl.java:250)
	at com.gentics.mesh.cli.MeshImpl$1.run(MeshImpl.java:177)

"SIGINT handler" #125 daemon prio=9 os_prio=0 tid=0x00007f12cc021000 nid=0x1265 in Object.wait() [0x00007f12fd7ee000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Thread.join(Thread.java:1249)
	- locked <0x00000006c7400768> (a com.gentics.mesh.cli.MeshImpl$1)
	at java.lang.Thread.join(Thread.java:1323)
	at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106)
	at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46)
	at java.lang.Shutdown.runHooks(Shutdown.java:123)
	at java.lang.Shutdown.sequence(Shutdown.java:167)
	at java.lang.Shutdown.exit(Shutdown.java:212)
	- locked <0x00000006c72842c8> (a java.lang.Class for java.lang.Shutdown)
	at java.lang.Runtime.exit(Runtime.java:109)
	at java.lang.System.exit(System.java:971)
	at com.orientechnologies.orient.core.OSignalHandler.handle(OSignalHandler.java:69)
	at sun.misc.Signal$1.run(Signal.java:212)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-internal-blocking-1" #124 prio=5 os_prio=0 tid=0x00007f12dc07e000 nid=0xbe0 waiting on condition [0x00007f129915d000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b8240> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-internal-blocking-0" #123 prio=5 os_prio=0 tid=0x00007f12c4473800 nid=0xbdf waiting on condition [0x00007f1299561000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b8240> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][management][T#3]" #120 daemon prio=5 os_prio=0 tid=0x00007f12f0075000 nid=0x334 waiting on condition [0x00007f129885a000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d21028> (a org.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:734)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.poll(LinkedTransferQueue.java:1277)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][flush][T#2]" #102 daemon prio=5 os_prio=0 tid=0x00007f124000f000 nid=0x7f81 waiting on condition [0x00007f122c6ed000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d21cc8> (a org.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][index][T#4]" #100 daemon prio=5 os_prio=0 tid=0x00007f12b4b2c000 nid=0x7f7f waiting on condition [0x00007f122c8ef000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d226f8> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][index][T#3]" #99 daemon prio=5 os_prio=0 tid=0x00007f12b4b5c000 nid=0x7f7e waiting on condition [0x00007f122c9f0000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d226f8> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][index][T#2]" #98 daemon prio=5 os_prio=0 tid=0x00007f12b4484800 nid=0x7f7d waiting on condition [0x00007f122d8f7000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d226f8> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][refresh][T#1]" #96 daemon prio=5 os_prio=0 tid=0x00007f12c445c000 nid=0x7f6a waiting on condition [0x00007f122d1f2000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d21f30> (a org.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][generic][T#6]" #94 daemon prio=5 os_prio=0 tid=0x00007f1238192800 nid=0x7f68 waiting on condition [0x00007f122d3f4000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d21768> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
	at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][index][T#1]" #92 daemon prio=5 os_prio=0 tid=0x00007f12480d5000 nid=0x7f66 waiting on condition [0x00007f122d7f6000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d226f8> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-eventloop-thread-7" #90 prio=5 os_prio=0 tid=0x00007f12d800b000 nid=0x7f45 runnable [0x00007f1298a5c000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71c5dd8> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71c7e58> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71c5d40> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][listener][T#2]" #84 daemon prio=5 os_prio=0 tid=0x00007f1294016800 nid=0x7f2a waiting on condition [0x00007f122d9f8000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d20dd0> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][listener][T#1]" #83 daemon prio=5 os_prio=0 tid=0x00007f12ac005800 nid=0x7f29 waiting on condition [0x00007f122dcf9000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d20dd0> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-11" #82 prio=5 os_prio=0 tid=0x00007f12c4220000 nid=0x7f28 waiting on condition [0x00007f122ddfa000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-10" #81 prio=5 os_prio=0 tid=0x00007f12e8042000 nid=0x7f27 waiting on condition [0x00007f122defb000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-9" #80 prio=5 os_prio=0 tid=0x00007f12dc084800 nid=0x7f26 waiting on condition [0x00007f122dffc000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-8" #79 prio=5 os_prio=0 tid=0x00007f12c4324000 nid=0x7f25 waiting on condition [0x00007f124c103000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][search][T#7]" #78 daemon prio=5 os_prio=0 tid=0x00007f12e803f000 nid=0x7f24 waiting on condition [0x00007f124c204000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7cfd418> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at org.elasticsearch.common.util.concurrent.SizeBlockingQueue.take(SizeBlockingQueue.java:161)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][search][T#6]" #77 daemon prio=5 os_prio=0 tid=0x00007f12e803d000 nid=0x7f23 waiting on condition [0x00007f124c305000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7cfd418> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at org.elasticsearch.common.util.concurrent.SizeBlockingQueue.take(SizeBlockingQueue.java:161)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][search][T#5]" #76 daemon prio=5 os_prio=0 tid=0x00007f12e803b000 nid=0x7f22 waiting on condition [0x00007f124c406000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7cfd418> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at org.elasticsearch.common.util.concurrent.SizeBlockingQueue.take(SizeBlockingQueue.java:161)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][search][T#4]" #75 daemon prio=5 os_prio=0 tid=0x00007f12e8039000 nid=0x7f21 waiting on condition [0x00007f124c507000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7cfd418> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at org.elasticsearch.common.util.concurrent.SizeBlockingQueue.take(SizeBlockingQueue.java:161)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][search][T#3]" #74 daemon prio=5 os_prio=0 tid=0x00007f12e8037000 nid=0x7f20 waiting on condition [0x00007f124c608000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7cfd418> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at org.elasticsearch.common.util.concurrent.SizeBlockingQueue.take(SizeBlockingQueue.java:161)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][search][T#2]" #73 daemon prio=5 os_prio=0 tid=0x00007f12e8036000 nid=0x7f1f waiting on condition [0x00007f124c709000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7cfd418> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at org.elasticsearch.common.util.concurrent.SizeBlockingQueue.take(SizeBlockingQueue.java:161)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][search][T#1]" #72 daemon prio=5 os_prio=0 tid=0x00007f12e8035000 nid=0x7f1e waiting on condition [0x00007f124c80a000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7cfd418> (a java.util.concurrent.LinkedTransferQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at org.elasticsearch.common.util.concurrent.SizeBlockingQueue.take(SizeBlockingQueue.java:161)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-7" #71 prio=5 os_prio=0 tid=0x00007f1244007000 nid=0x7f1d waiting on condition [0x00007f124c90b000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-6" #70 prio=5 os_prio=0 tid=0x00007f12dc053000 nid=0x7f1c waiting on condition [0x00007f124ca0c000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-5" #69 prio=5 os_prio=0 tid=0x00007f12e8017000 nid=0x7f1b waiting on condition [0x00007f124cf0f000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-4" #68 prio=5 os_prio=0 tid=0x00007f12c416b800 nid=0x7f1a waiting on condition [0x00007f129a4f7000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-3" #66 prio=5 os_prio=0 tid=0x00007f12e800d000 nid=0x7f18 waiting on condition [0x00007f129a5f8000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-2" #64 prio=5 os_prio=0 tid=0x00007f12dc28c000 nid=0x7ec5 waiting on condition [0x00007f124cd0d000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"youtube-uploader-0" #63 prio=5 os_prio=0 tid=0x00007f12c4216800 nid=0x7ec4 waiting on condition [0x00007f124ce0e000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c93f9b78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-1" #61 prio=5 os_prio=0 tid=0x00007f12dc290800 nid=0x7ebe waiting on condition [0x00007f124d210000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][management][T#2]" #60 daemon prio=5 os_prio=0 tid=0x00007f123c032000 nid=0x7eb4 waiting on condition [0x00007f124f9b7000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d21028> (a org.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:734)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.poll(LinkedTransferQueue.java:1277)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-eventloop-thread-6" #59 prio=5 os_prio=0 tid=0x00007f1316057000 nid=0x7eaa runnable [0x00007f124fcfc000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71dc2e0> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71de360> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71dc248> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-eventloop-thread-5" #58 prio=5 os_prio=0 tid=0x00007f12dc29b800 nid=0x7ea9 runnable [0x00007f124fdfd000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71c0490> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71c2510> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71c03f8> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-eventloop-thread-4" #57 prio=5 os_prio=0 tid=0x00007f1316055800 nid=0x7ea8 runnable [0x00007f124f513000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71bab60> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71bcbe0> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71baac8> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-eventloop-thread-3" #56 prio=5 os_prio=0 tid=0x00007f12d8003800 nid=0x7ea7 runnable [0x00007f124f614000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71cb720> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71cd7a0> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71cb688> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-worker-thread-0" #55 prio=5 os_prio=0 tid=0x00007f1316053800 nid=0x7ea6 waiting on condition [0x00007f124f715000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71b7fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-eventloop-thread-2" #54 prio=5 os_prio=0 tid=0x00007f12c43d0800 nid=0x7ea5 runnable [0x00007f124f816000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71d6998> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71d8a18> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71d6900> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-acceptor-thread-0" #53 prio=5 os_prio=0 tid=0x00007f12c40ed800 nid=0x7ea3 runnable [0x00007f1298357000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71e7878> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71e98f8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71e77e0> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-eventloop-thread-1" #52 prio=5 os_prio=0 tid=0x00007f1316051800 nid=0x7ea2 runnable [0x00007f1298458000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71d1068> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71d30e8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71d0fd0> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][warmer][T#2]" #51 daemon prio=5 os_prio=0 tid=0x00007f12c115a800 nid=0x7ea1 waiting on condition [0x00007f1298759000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d221f8> (a org.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][fetch_shard_started][T#3]" #42 daemon prio=5 os_prio=0 tid=0x00007f1238012800 nid=0x7e90 waiting on condition [0x00007f1299662000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d22be0> (a org.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_boss][T#1]{New I/O server boss #9}" #39 daemon prio=5 os_prio=0 tid=0x00007f1316b4a800 nid=0x7e8c runnable [0x00007f1299964000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d9d6a8> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d9d6b8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d16558> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
	at org.jboss.netty.channel.socket.nio.NioServerBoss.select(NioServerBoss.java:163)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_worker][T#8]{New I/O worker #8}" #38 daemon prio=5 os_prio=0 tid=0x00007f1316b38000 nid=0x7e8b runnable [0x00007f1299a66000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d139d0> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d139c0> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d138a8> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:434)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_worker][T#7]{New I/O worker #7}" #37 daemon prio=5 os_prio=0 tid=0x00007f1316b19000 nid=0x7e81 runnable [0x00007f1299b67000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d01b80> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d01b70> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d01a58> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:434)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_worker][T#6]{New I/O worker #6}" #36 daemon prio=5 os_prio=0 tid=0x00007f1316afa000 nid=0x7e80 runnable [0x00007f1299c68000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d04a10> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d04a00> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d048e8> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:434)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_worker][T#5]{New I/O worker #5}" #35 daemon prio=5 os_prio=0 tid=0x00007f1316adb800 nid=0x7e7f runnable [0x00007f1299d69000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d10b40> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d10b30> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d10a18> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:434)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_worker][T#4]{New I/O worker #4}" #34 daemon prio=5 os_prio=0 tid=0x00007f1316a52000 nid=0x7e7e runnable [0x00007f1299e6a000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d0dcc8> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d0dcb8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d0dba0> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:434)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_worker][T#3]{New I/O worker #3}" #33 daemon prio=5 os_prio=0 tid=0x00007f1316a50800 nid=0x7e7d runnable [0x00007f1299f6b000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d032c8> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d032b8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d031a0> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:434)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_worker][T#2]{New I/O worker #2}" #32 daemon prio=5 os_prio=0 tid=0x00007f1316a4c800 nid=0x7e7c runnable [0x00007f129a06c000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d12288> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d12278> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d12160> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:434)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][http_server_worker][T#1]{New I/O worker #1}" #31 daemon prio=5 os_prio=0 tid=0x00007f1316a56800 nid=0x7e7b runnable [0x00007f129a16d000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c7d0f410> (a sun.nio.ch.Util$3)
	- locked <0x00000006c7d0f400> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c7d0f2e8> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:434)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212)
	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][management][T#1]" #28 daemon prio=5 os_prio=0 tid=0x00007f1238003000 nid=0x7e78 waiting on condition [0x00007f129a6f9000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d21028> (a org.elasticsearch.common.util.concurrent.EsExecutors$ExecutorScalingQueue)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:734)
	at java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
	at java.util.concurrent.LinkedTransferQueue.poll(LinkedTransferQueue.java:1277)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][clusterService#updateTask][T#1]" #27 daemon prio=5 os_prio=0 tid=0x00007f1316a48000 nid=0x7e77 waiting on condition [0x00007f129a7fa000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d39d48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
	at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:549)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][[ttl_expire]]" #26 daemon prio=5 os_prio=0 tid=0x00007f1316a3c000 nid=0x7e76 waiting on condition [0x00007f129a8fb000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d9d250> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2163)
	at org.elasticsearch.indices.ttl.IndicesTTLService$Notifier.await(IndicesTTLService.java:341)
	at org.elasticsearch.indices.ttl.IndicesTTLService$PurgerThread.run(IndicesTTLService.java:147)

"elasticsearch[Impudent Ludicolo][scheduler][T#1]" #25 daemon prio=5 os_prio=0 tid=0x00007f13169de000 nid=0x7e75 waiting on condition [0x00007f129abfc000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c7d354d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

"elasticsearch[Impudent Ludicolo][[timer]]" #24 daemon prio=5 os_prio=0 tid=0x00007f13158c2000 nid=0x7e74 waiting on condition [0x00007f129b6fd000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.elasticsearch.threadpool.ThreadPool$EstimatedTimeThread.run(ThreadPool.java:747)

"threadDeathWatcher-2-1" #16 daemon prio=1 os_prio=0 tid=0x00007f12a4079800 nid=0x7e68 waiting on condition [0x00007f12f6784000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at io.netty.util.ThreadDeathWatcher$Watcher.run(ThreadDeathWatcher.java:152)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
	at java.lang.Thread.run(Thread.java:745)

"vert.x-eventloop-thread-0" #15 prio=5 os_prio=0 tid=0x00007f1314da2800 nid=0x7e67 runnable [0x00007f12f6a85000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006c71e1c10> (a io.netty.channel.nio.SelectedSelectionKeySet)
	- locked <0x00000006c71e3c90> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006c71e1b78> (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:746)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:745)

"vertx-blocked-thread-checker" #13 daemon prio=5 os_prio=0 tid=0x00007f1314dc5000 nid=0x7e63 in Object.wait() [0x00007f12f77ed000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.util.TimerThread.mainLoop(Timer.java:552)
	- locked <0x00000006c7016fa0> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:505)

"Service Thread" #11 daemon prio=9 os_prio=0 tid=0x00007f13140dd800 nid=0x7e53 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread2" #10 daemon prio=9 os_prio=0 tid=0x00007f13140da800 nid=0x7e52 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #9 daemon prio=9 os_prio=0 tid=0x00007f13140d8800 nid=0x7e51 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #8 daemon prio=9 os_prio=0 tid=0x00007f13140d5800 nid=0x7e50 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"JDWP Event Helper Thread" #6 daemon prio=10 os_prio=0 tid=0x00007f13140d3800 nid=0x7e4d runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f13140bf800 nid=0x7e4a waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f131408d800 nid=0x7e49 in Object.wait() [0x00007f12fdbf4000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
	- locked <0x00000006c7097b50> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f1314089000 nid=0x7e48 in Object.wait() [0x00007f12fdcf5000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:502)
	at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
	- locked <0x00000006c7097b90> (a java.lang.ref.Reference$Lock)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"main" #1 prio=5 os_prio=0 tid=0x00007f1314012800 nid=0x7e3a waiting on condition [0x00007f131dd1c000]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000006c71ec530> (a java.util.concurrent.CountDownLatch$Sync)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
	at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
	at com.gentics.mesh.cli.MeshImpl.dontExit(MeshImpl.java:186)
	at com.gentics.mesh.cli.MeshImpl.run(MeshImpl.java:98)
	at com.gentics.tvc.TVCRunner.run(TVCRunner.java:45)
	at com.gentics.tvc.TVCRunner.main(TVCRunner.java:52)

"VM Thread" os_prio=0 tid=0x00007f1314081000 nid=0x7e45 runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f1314028800 nid=0x7e3d runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f131402a800 nid=0x7e3e runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f131402c000 nid=0x7e3f runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f131402e000 nid=0x7e40 runnable 

"VM Periodic Task Thread" os_prio=0 tid=0x00007f13140e1000 nid=0x7e54 waiting on condition 

JNI global references: 32314

Heap
 PSYoungGen      total 1020416K, used 31024K [0x000000076d000000, 0x00000007b1d80000, 0x00000007c0000000)
  eden space 1016320K, 3% used [0x000000076d000000,0x000000076ee4c0c0,0x00000007ab080000)
  from space 4096K, 0% used [0x00000007ab080000,0x00000007ab080000,0x00000007ab480000)
  to   space 55808K, 0% used [0x00000007ae700000,0x00000007ae700000,0x00000007b1d80000)
 ParOldGen       total 301568K, used 114820K [0x00000006c7000000, 0x00000006d9680000, 0x000000076d000000)
  object space 301568K, 38% used [0x00000006c7000000,0x00000006ce021358,0x00000006d9680000)
 Metaspace       used 91347K, capacity 94581K, committed 96728K, reserved 1134592K
  class space    used 11448K, capacity 12105K, committed 12544K, reserved 1048576K

Reduce segmentation of paths for binary fields in filesystem

The binary files are stored in subfolders which have multiple levels of subfolders. This is done to avoid one folder to be cluttered with lots of files. The current level of subfolders is a bit excessive. It would be good to reduce the amount.

A changelog migration script would need to be written which migrates those files/folders.

Schema export does not include schema description

Gentics Mesh Version, operating system, or hardware.

  • v0.9.17

JVM

  • Oracle JDK 8

Problem

The schema export does not export schema description into the JSON File.

Reproducer

Create a new schema and add a description. Open the schema in the JSON-Editor or export the schema via the schema export function in both cases the description of the schema is not included in the JSON (This also applies to the micro-schemas)

Expected behaviour and actual behaviour

The description of an schema or micro-schema should be included in the JSON.

Add Mesh UI to mesh-server

The Mesh UI is currently not part of the mesh-server jar. It should be bundled with the server as well.

Enhance delete handling

Modify the current behavior:

  • DELETE /api/v1/:projectUuid/nodes/:nodeUuid
    Delete all language containers and the node itself. Throw an error if the node has children

  • DELETE /api/v1/:projectUuid/nodes/:nodeUuid/languages/en
    Delete the specified language and the node if this would be the last language of the node.
    Throw an error if the node has children

  • DELETE /api/v1/:projectUuid/nodes/:nodeUuid?recursive=true
    Delete all language containers and the node itself. Delete also children.

  • DELETE /api/v1/:projectUuid/nodes/:nodeUuid/languages/en?recursive=true
    Delete the specified language and the node if this would be the last language of the node.
    Delete also children if the node itself would be deleted.

Enhance the documentation and describe what a delete action will do.

version=published and version=1.0 return different results for user with readPublish permissions

Gentics Mesh Version, operating system, or hardware.

  • v0.9.14

Problem

Different results for user with readPublish permissions querying a node with version=published and version=1.0 (latest published version).

Reproducer

. create version 1.1 for node fc3c85be82584ae2bc85be82588ae2b0 (Ford GT)
. tested with user 'anonymous'
. set permissions to:

  "permissions" : {
    "create" : false,
    "read" : false,
    "update" : false,
    "delete" : false,
    "publish" : false,
    "readPublished" : true
  }

http://localhost:8080/api/v1/demo/nodes/fc3c85be82584ae2bc85be82588ae2b0 => "Missing permissions on object" => OK
http://localhost:8080/api/v1/demo/nodes/fc3c85be82584ae2bc85be82588ae2b0?version=draft => "Missing permissions on object" => OK
http://localhost:8080/api/v1/demo/nodes/fc3c85be82584ae2bc85be82588ae2b0?version=1.1 => "Missing permissions on object" => OK
http://localhost:8080/api/v1/demo/nodes/fc3c85be82584ae2bc85be82588ae2b0?version=published => node is returned => OK
http://localhost:8080/api/v1/demo/nodes/fc3c85be82584ae2bc85be82588ae2b0?version=1.0 => "Missing permissions on object" => NOK

likewise having read permissions on node fd58237c79d64bf198237c79d6bbf107 (Trabant) results in different responses for version=published and version=1.0:
(no need to change permissions or create version 1.1)

http://localhost:8080/api/v1/demo/nodes/fd58237c79d64bf198237c79d6bbf107 => node is returned => OK
http://localhost:8080/api/v1/demo/nodes/fd58237c79d64bf198237c79d6bbf107?version=1.0 => node is returned => OK
http://localhost:8080/api/v1/demo/nodes/fd58237c79d64bf198237c79d6bbf107?version=draft => node is returned => OK
http://localhost:8080/api/v1/demo/nodes/fd58237c79d64bf198237c79d6bbf107?version=published => "Missing permissions on object" => NOK

Expected behaviour and actual behaviour

behaviour for version=published and version=1.0 should be the same

Simplify version field of node response

Gentics Mesh Version, operating system, or hardware.

  • v0.9.16

Operating System

  • Linux
  • MacOSX
  • Windows
  • Other Unix
  • Other, name?

JVM

  • Oracle JDK 8
  • Open JDK 8

Problem

At the moment, the API for graphql and REST are different when looking at the version of a node. In graphQL a single string is returned, the version. In REST we get an object which contains the uuid of the version and the version number. I don't think it is necessary to provide the uuid since it can't be used for anything.

Reproducer

Fetch a node via REST vs a node via GraphQL with the version field.

Expected behaviour and actual behaviour

Expected both APIs to return just a string for the version. At the moment, REST returns an object as described above.

Gentics Mesh Examples

Update various examples to use the latest features

  • PHP: Add apiToken and Anonymous access example

Refactor Demo Examples

It would be good to refactor the demo examples to use GraphQL / Auth Token.

A chapter by chapter demo example guide would also be very useful. Each chapter could be placed in a dedicated branch.

Add option to configure raw index per field

Problem

raw fields are limited to 32k bytes in size. See https://stackoverflow.com/questions/24019868/utf8-encoding-is-longer-than-the-max-length-32766 for more details.

This limit affects string and html fields.

Solution

We need to add a field schema property which can be used to configure whether the raw field should be index or not. This can be handled within NodeContainerTransformator#304. The schema diff logic and tests must also be enhanced to handle this case.

A check needs to be added to detected length violations before storing the node in the graph database.

Migration from node list to micronode list does nothing

Gentics Mesh Version, operating system, or hardware.

  • v0.9.18

Operating System

  • Linux

JVM

  • Open JDK 1.8.0_100

Problem

See title

Reproducer

  1. Create a schema with a node list field.
  2. Change that field to a micronode list field.

Expected behaviour and actual behaviour

Expected: OK Response and field changed to micronode list field.
Actual: OK Response and field has NOT changed.

When calling auth/logout, Set-Cookie does not update the mesh.token cookie value

Gentics Mesh Version, operating system, or hardware.

  • v0.9.11

Operating System

  • Linux
  • MacOSX
  • Windows
  • Other Unix
  • Other, name?

JVM

  • Oracle JDK 8
  • Open JDK 8

Problem

When calling api/v1/auth/logout, the Set-Cookie header attempts to set the mesh.token cookie to "deleted", but this does not seem to work in my tests with Chrome 58.

Reproducer

  1. In the demo admin ui, clear any cookies (devtools -> Application -> cookies -> delete)
  2. Login as admin. This will return a response including the header:
Set-Cookie:mesh.token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyVXVpZCI6ImM3NWM4M2U1NzExZDQ2ZDc5YzgzZTU3MTFkMTZkNzhhIiwiaWF0IjoxNDk2ODQxNjQ5LCJleHAiOjE0OTY4NDUyNDl9.jBUCFoRa-QzThDKBsWwh4CiczyqYkYmN5ue4gQiCOvA=; Max-Age=3600; Expires=Wed, 7 Jun 2017 14:20:49 GMT; Path=/
  1. Note that devtools-> Application -> cookies shows that the mesh.token cookie has been set.
  2. Log out. This calls auth.logout which should set the cookie value to "deleted" as below:
Set-Cookie:mesh.token=deleted; Max-Age=0; Expires=Wed, 7 Jun 2017 13:22:20 GMT
  1. The value of the "mesh.token" cookie remains the same as before logout, rather than being set to "deleted"

Allow for additional metadata in binary fields

Check whether we want to store additional metadata properties within the binary field.

Examples:

  • Exif data
  • Location information
  • Copyright information
  • ID3 MP3 information
  • Video Metadata (Matroska etc.)

Note: Those information could also be stored by adding an additional field in the schema (alternative solution)

RAML is served with no Content-Type

Gentics Mesh Version, operating system, or hardware.

  • Mesh v0.9.11
  • Linux
  • Oracle JDK 8

Problem

/api/v1/raml provides no Content-Type header (and therefore no encoding).
Chrome wrongly assumes windows-1252.

Reproducer

Expected: utf-8
Actual: windows-1252

Reproducer 2

  • curl http://localhost:8080/api/v1/raml -D - -o /dev/null -s | grep 'Content-Type'

Expected: application/x-yaml; charset=utf-8 or text/yaml; charset=utf-8
Actual: <empty>

Improve read performance

Target PI: 500ms - includes 1 Node request or 1 search request & 1 nav root request & 1 children request or 1 search

Document memory configuration

Document Gentics Mesh memory configuration.

TODO

  • Check whether elasticsearch / netty uses direct memory
  • Don't change storage.diskCache.pageSize !

Memory Settings

768 MB

java  -XX:MaxDirectMemorySize=512m -Xmx512m -Dmemory.chunk.size=256  -Dstorage.diskCache.pinnedPages=50 -Dstorage.diskCache.bufferSize=256 -jar mesh-demo-0.9.16.jar

512 MB

java  -XX:MaxDirectMemorySize=512m -Xmx256m -Dmemory.chunk.size=256  -Dstorage.diskCache.pinnedPages=50 -Dstorage.diskCache.bufferSize=256 -jar mesh-demo-0.9.16.jar  geht auch. 

320 MB

java  -XX:MaxDirectMemorySize=512m -Xmx64m -Dmemory.chunk.size=256 -Dstorage.diskCache.pinnedPages=50 -Dstorage.diskCache.bufferSize=256 -jar mesh-demo-0.9.16.jar

196 MB

java  -XX:MaxDirectMemorySize=128m -Xmx64m    -Dstorage.wal.cacheSize=20  -Dmemory.chunk.size=32 -Dstorage.diskCache.pinnedPages=50 -Dstorage.diskCache.bufferSize=128 -jar mesh-demo-0.9.16.jar 

Make all Java REST models fluent

Currently, none of the rest models in Java are fluent.

For instance, changing a users mail-address requires you to do this at the moment:

UserUpdateRequest request = new UserUpdateRequest();
request.setEmailAddress("[email protected]");
mclient.updateUser(userUuid, request);

Please make the API fluent, so this is possible:

mclient.updateUser(userUuid, new UserUpdateRequest().setEmailAddress("[email protected]"));

Reindex should not abort

The /api/v1/search/reindex call will currently stop indexing elements once an error is encountered. The index operation should not abort and just continue. Errors should be logged and returned to the user via the reindex response.

Monitoring

Idea

Add means to track response times and provide a way to generate reports.
It would be good to write this in a tool agnostic way. So that multiple monitoring tools could be added.

Examples

prometheus vertx client

Metrics

  • Transaction retries
  • Transaction errors
  • Pending jobs
  • Failed jobs
  • Schema/Microschema/Branch migration metrics
  • Cluster status information
  • Cluster node count
  • Uptime
  • Java Metrics (Heap, etc)
  • ES Status (Errors, Pending commands)

  • count 200er requests
  • count 500er request
  • count 201er ...
  • count user
  • count tags
  • count nodes
  • count transaction timeouts
  • count transaction retrys
  • monitor Elasticsearch stats
  • monitor OrientDB stats
  • monitor JMX Beans: Threads (count) (e.g.: vert.x, es, orientdb) , Heap size, GCs

Additional

  • Liveness probe: /api/v1/health/live
  • Readiness probe: /api/v1/health/ready

Enhance schema migration status endpoint

The admin/migration/status endpoint should be enhanced. It is currently not possible to get the information which migrations are currently running. Keep in mind that it is possible to invoke multiple schema migrations for different schema's.

The status should be stored in a cluster wide shared map. The following attributes should be stored and retrievable:

  • Schema/Microschema Uuid
  • Start version
  • Target version
  • Start time
  • Mesh node on which the migration is running
  • Total amount of data which needs to be migrated
  • Counter which returns the amount of data which has already been migrated

This information should also be provided locally via JMX beans.

Read publish permission is not enough to read binary fields

Gentics Mesh Version, operating system, or hardware.

  • v0.9.27

Operating System

  • Linux
  • MacOSX
  • Windows

JVM

  • Oracle JDK 1.8.0_100
  • Open JDK 1.8.0_100

Problem

A user with a role that has permissions to "read published" nodes will get a "Missing permissions..." response, when trying to load binary fields from a node via the download endpoint.

{meshAPIRoot}/api/v1/{projectName}/nodes/{nodeUuid}/binary/{fieldName}

When the "Read" permission is granted, the user can access the file.

Reproducer

Expected behaviour and actual behaviour

The permission "read published" should suffice for a user/role to access all fields of a node.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.