Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1047
# By Michael Russo (19) and Dave Johnson (4) # Via Michael Russo (4) and others * 'master' of https://git-wip-us.apache.org/repos/asf/usergrid: (23 commits) Fix issue with null values nested in an entity list field being represented as a top-level entity NullField instead of a null value. Fix inheritance issue. Fix issue with multiple types within a list causing class cast exceptions. Revert ""port" tools from master" "port" tools from master Cleanup duplicate edges at the end of addToCollection and filter duplicate edges in our graph results. Only reset roles and application secrets if the create application request is not for a migration. Fix the default consistency level settings in properties. The fig (e.g. CassandraFig) will only use its default if there was no java prop set already. Implement a minimum lock expiration time. Ensure the lock manager is injected as a singleton. Fixes to allow ImportAdmin to run in distributed env, also remove org-merge from ImportAdmins. Fix tests to handle uniqueness of fields being indexed at Elasticsearch (before assumed duplicates were allowed). Initial work to support a typed null field for an entity, including a new index field type named "null" with value of null. Also changes to pass a Set to elasticsearch for fields to index instead of a non unique list. Remove unused SingleNodeLockImpl and any references to this. Only create new client secrets during app creation if the application UUID is not provided (otherwise you overwrite existing app credentials). Simplify the locks consistency level and default it to LQ in case something passed cannot be parsed to a valid consistency level. Fix Astyanax locking to be re-entrant as Hector locks were and possible UG code expects it to be. Remove all reference of Hector locks, changing its existing test to work with Astyanax. Remove commented, old Hector configuration from Spring context config. Fix new lock manager wiring issues in services layer. First commit of new implementation of Astyanax locks and having it wired with guide instead of Spring. ... Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/31df16e3 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/31df16e3 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/31df16e3 Branch: refs/heads/master Commit: 31df16e3d6435db7faa3287e0f3638f766ca7b5c Parents: d97f6e3 40be90f Author: George Reyes <[email protected]> Authored: Mon Jan 25 12:58:27 2016 -0800 Committer: George Reyes <[email protected]> Committed: Mon Jan 25 12:58:27 2016 -0800 ---------------------------------------------------------------------- .../src/main/dist/lib/log4j.properties | 1 - .../main/resources/usergrid-default.properties | 10 +- .../src/test/resources/usergrid-test.properties | 5 - stack/core/pom.xml | 10 +- .../apache/usergrid/batch/job/OnlyOnceJob.java | 3 +- .../usergrid/corepersistence/CoreModule.java | 2 + .../corepersistence/CpEntityManagerFactory.java | 18 +- .../corepersistence/CpRelationManager.java | 54 +-- .../usergrid/corepersistence/CpSetup.java | 14 +- .../read/traverse/AbstractReadGraphFilter.java | 37 +- .../locking/cassandra/AstyanaxLockImpl.java | 92 +++++ .../cassandra/AstyanaxLockManagerImpl.java | 211 +++++++++++ .../locking/cassandra/HectorLockImpl.java | 86 ----- .../cassandra/HectorLockManagerImpl.java | 142 -------- .../usergrid/locking/guice/LockModule.java | 40 +++ .../locking/singlenode/SingleNodeLockImpl.java | 71 ---- .../singlenode/SingleNodeLockManagerImpl.java | 96 ----- .../zookeeper/ZooKeeperLockManagerImpl.java | 115 ------ .../locking/zookeeper/ZookeeperLockImpl.java | 88 ----- .../mq/cassandra/QueueManagerFactoryImpl.java | 5 +- .../persistence/EntityManagerFactory.java | 8 +- .../persistence/cassandra/CassandraService.java | 5 +- .../main/resources/usergrid-core-context.xml | 36 +- .../org/apache/usergrid/CoreITSetupImpl.java | 4 + .../corepersistence/CpEntityMapUtilsTest.java | 28 +- .../usergrid/locking/AstyanaxLockManagerIT.java | 164 +++++++++ .../locking/cassandra/HectorLockManagerIT.java | 185 ---------- .../SingleNodeLockTestSingleNode.java | 170 --------- .../zookeeper/AbstractZooKeeperTest.java | 127 ------- .../usergrid/locking/zookeeper/ZooPut.java | 114 ------ .../zookeeper/ZookeeperLockManagerTest.java | 186 ---------- .../usergrid/persistence/EntityManagerIT.java | 33 ++ stack/core/src/test/resources/log4j.properties | 1 - .../impl/ScopedCacheSerializationImpl.java | 12 +- .../MvccEntitySerializationStrategyImpl.java | 14 +- ...vccEntitySerializationStrategyProxyImpl.java | 4 +- .../MvccEntitySerializationStrategyV1Impl.java | 8 +- .../MvccEntitySerializationStrategyV2Impl.java | 13 +- .../MvccEntitySerializationStrategyV3Impl.java | 14 +- .../MvccLogEntrySerializationProxyImpl.java | 4 +- .../MvccLogEntrySerializationStrategyImpl.java | 6 +- ...MvccLogEntrySerializationStrategyV1Impl.java | 18 +- ...MvccLogEntrySerializationStrategyV2Impl.java | 18 +- .../UniqueValueSerializationStrategyImpl.java | 28 +- ...iqueValueSerializationStrategyProxyImpl.java | 4 +- .../UniqueValueSerializationStrategyV1Impl.java | 31 +- .../UniqueValueSerializationStrategyV2Impl.java | 31 +- stack/corepersistence/common/pom.xml | 351 ++++++++++--------- .../core/astyanax/AstyanaxKeyspaceProvider.java | 46 +-- .../core/astyanax/CassandraCluster.java | 20 ++ .../core/astyanax/CassandraClusterImpl.java | 198 +++++++++++ .../persistence/core/astyanax/CassandraFig.java | 72 +++- .../core/astyanax/MultiTenantColumnFamily.java | 47 +++ .../MultiTenantColumnFamilyDefinition.java | 138 ++++++++ .../core/astyanax/MultiTennantColumnFamily.java | 47 --- .../MultiTennantColumnFamilyDefinition.java | 138 -------- .../persistence/core/guice/CommonModule.java | 11 +- .../data/MigrationInfoSerializationImpl.java | 24 +- .../core/migration/schema/Migration.java | 4 +- .../migration/schema/MigrationManagerImpl.java | 9 +- .../core/astyanax/ColumnNameIteratorTest.java | 5 +- .../MultiKeyColumnNameIteratorTest.java | 5 +- .../astyanax/MultiRowColumnIteratorTest.java | 5 +- .../persistence/core/astyanax/TestUtils.java | 8 +- .../graph/impl/stage/EdgeDeleteRepairImpl.java | 8 +- .../EdgeMetadataSerializationProxyImpl.java | 4 +- .../impl/EdgeMetadataSerializationV1Impl.java | 36 +- .../impl/EdgeMetadataSerializationV2Impl.java | 36 +- .../impl/NodeSerializationImpl.java | 14 +- .../impl/shard/EdgeColumnFamilies.java | 12 +- .../shard/impl/EdgeShardSerializationImpl.java | 14 +- .../impl/ShardedEdgeSerializationImpl.java | 58 +-- .../impl/shard/impl/ShardsColumnIterator.java | 15 +- .../shard/impl/SizebasedEdgeColumnFamilies.java | 46 +-- .../map/impl/MapSerializationImpl.java | 28 +- .../model/entity/MapToEntityConverter.java | 230 +++++++----- .../persistence/model/field/ArrayField.java | 4 +- .../persistence/model/field/BooleanField.java | 4 +- .../persistence/model/field/ByteArrayField.java | 8 +- .../persistence/model/field/FieldTypeName.java | 3 +- .../persistence/model/field/FloatField.java | 4 +- .../persistence/model/field/IntegerField.java | 4 +- .../persistence/model/field/ListField.java | 4 +- .../persistence/model/field/LocationField.java | 4 +- .../persistence/model/field/LongField.java | 4 +- .../persistence/model/field/NullField.java | 44 +++ .../model/field/SerializedObjectField.java | 8 +- .../persistence/model/field/SetField.java | 6 +- .../persistence/model/field/StringField.java | 6 +- .../persistence/model/field/UUIDField.java | 4 +- .../model/entity/MapToEntityConverterTest.java | 64 ++++ .../persistence/model/field/EntityTest.java | 9 +- .../persistence/index/impl/EntityField.java | 11 + .../index/impl/EntityMappingParser.java | 16 +- .../index/impl/EntityToMapConverter.java | 3 +- .../persistence/index/impl/FieldParser.java | 5 +- .../persistence/index/impl/IndexingUtils.java | 1 + .../persistence/index/impl/EntityIndexTest.java | 69 +++- .../index/impl/EntityToMapConverterTest.java | 149 ++++++-- .../index/impl/IndexLoadTestsIT.java | 1 + .../resources/usergrid-standalone.properties | 4 - stack/pom.xml | 39 +-- stack/rest/src/test/resources/log4j.properties | 1 - .../management/AppInfoMigrationPlugin.java | 3 +- .../usergrid/management/ManagementService.java | 4 +- .../cassandra/ManagementServiceImpl.java | 61 ++-- .../services/ServiceManagerFactory.java | 6 +- .../services/guice/ServiceModuleImpl.java | 3 + .../resources/usergrid-services-context.xml | 133 +++---- .../migration/AppInfoMigrationPluginTest.java | 2 +- .../src/test/resources/log4j.properties | 1 - .../apache/usergrid/tools/DupAdminRepair.java | 297 ---------------- .../org/apache/usergrid/tools/DupOrgRepair.java | 263 -------------- .../org/apache/usergrid/tools/ExportApp.java | 16 +- .../org/apache/usergrid/tools/ImportAdmins.java | 81 +---- .../apache/usergrid/tools/PopulateSample.java | 2 +- .../org/apache/usergrid/tools/ToolBase.java | 6 +- .../apache/usergrid/tools/bean/MetricQuery.java | 7 +- stack/tools/src/main/resources/log4j.properties | 1 - .../apache/usergrid/tools/ExportAppTest.java | 6 +- .../usergrid/tools/ExportImportAdminsTest.java | 3 +- .../test/resources/testApplicationContext.xml | 273 ++++++++------- 122 files changed, 2381 insertions(+), 3261 deletions(-) ----------------------------------------------------------------------
