https://github.com/thinkaurelius/titan

sort by:
Revision Author Date Message Commit Date
d980284 Adding thin helper class for reindex on BDB More generally, IndexJobs takes a StandardTitanGraph and runs an IndexRepairJob (or ScanJob or VertexScanJob) over the open graph. This API isn't final. I've also got to properly dispose of the Gremlin snippet (as a test and possibly as part of the asciidocs as a code snippet, with some adaptation in each case) that I'm hastily embedding as a comment at the bottom of IndexJobs.java. For #756 07 April 2015, 09:34:30 UTC
88937ed Reenable and tweak PageRank Fulgora test For #989 This PR implementation is almost an exact copy of the impl that ships with TP3. I've simplified the test data slightly to match the TP3 impl (removing edges with a label that was ignored under the oldfulgora version) rather than attempting to enrich the PR impl with additional traversal selectivity. 07 April 2015, 09:28:08 UTC
601e468 Force alpha ordering of classpath jars in gremlin.sh For #849, list item 2 03 April 2015, 19:48:26 UTC
612e68a Tweak SystemTypeManager & test reserved name lists This is for #730 and #634. Holding off on uncommenting these reserved names until the TP3 test failures they trigger are resolved. Affected TP3 tests include but may not necessarily be limited to: * PropertyTest$ElementGetValueExceptionConsistencyTest * StrategyGraphTest$VertexPropertyPropertyShouldBeWrappedTests * VertexTest$BasicVertexTest 27 March 2015, 14:49:08 UTC
a90c810 Avoid using "key" as a type name This is prep for #634 27 March 2015, 14:46:54 UTC
3ad7f11 Centralize reserved label/propertykey name check StandardVertexLabelMaker and StandardRelationTypeMaker now call a single method in SystemTypeManager to check whether a user-provided name is reserved, rather than separately reimplementing the same checks in their own methods. 27 March 2015, 04:52:36 UTC
d3b68a4 Adding test of reserved label/propertykey names Groundwork for #634 and #730. The test only covers existing reserved names (all of which start with ~), not the new reserved names slated to be added by those issues. Test passed at commit time. 27 March 2015, 04:49:48 UTC
d6d7fe6 Stop trying to remove shutdown hook twice This was supposed to be fixed on titan09 by f4bb650ce5de3740a16f164e5e76e7c9c202dc33, a rewrite of 1c37382e35f9d0901ed67d26aace6c539d049c82 from titan05. Looks like I unintentionally lost the fix for double-removing the hook in the former (but not the latter). 26 March 2015, 01:59:20 UTC
e75b910 Rework STG.shutdownInternal to tolerate exceptions StandardTitanGraph.shutdownInternal will now attempt to catch (and log at WARN) exceptions generated when interacting with the backend during orderly shutdown. This includes removing the graph uniqueid from the set of live instances recorded in the storage backend and shutting down any open logs (mgmt, tx). For #979 26 March 2015, 01:52:08 UTC
af76a29 Shade Kryo 2.24.0 This commit does something similar to the following two commits on titan05: * c736cf7dba4b72ba00c9cf8dbe2941be6e9c66a9 * e6e2dacc2b10d4936ebf1ff9d9bdb4d2498ed0d4 But it's not exactly the same. The contents of the Kryo 2.24.0 jar used in titan09 (relevant to this commit) are slightly different from the contents of the 2.22 jar (relevant to above commits on the 0.5 line). This commit is specifically for titan09/2.24.0. 26 March 2015, 00:23:15 UTC
ec78f33 Merge branch 'nik9000-jackson' into titan09 25 March 2015, 18:55:27 UTC
6e327b0 Merge branch 'jackson' of https://github.com/nik9000/titan into nik9000-jackson 25 March 2015, 18:55:01 UTC
cab2f9f Fix bug in testVertexTTLWithCompositeIndex An invocation to addVertex was missing an argument 25 March 2015, 17:55:45 UTC
c63a961 Importing exception needed in a test method Meant to include this import in 15ef62eecbcc4ca3a820832032704ba10b0dd62c, but accidentally omitted it. 25 March 2015, 02:20:07 UTC
f6017d8 Log local lock holder stacks at TRACE When LocalLockMediator's log severity is at least TRACE, a successful invocation of the lock method generates and stores an array of StackTraceElement. If a later attempt to lock fails because of a conflict, then both stacktrace of the failed caller and the earlier stored stacktrace of the successful caller will be logged. 25 March 2015, 00:28:05 UTC
ae19fc7 Synchronize CacheVertex.queryCache reads The following two methods read queryCache without synchronization: * getQueryCacheSize * getSuperResultSet The other methods in CacheVertex do synchronize on queryCache (which is an unsynchronized ordinary HashMap) when reading or writing, so this commit just attempts to complete what was previously incomplete synchronization. 25 March 2015, 00:25:38 UTC
ad3f701 Adding DEBUG log statements to StandardScanMetrics 25 March 2015, 00:24:17 UTC
28d3209 Fix race condition in StandardScannerExecutor StandardScannerExecutor's dataPuller threads read binary entries from the backend and enqueue them for consumption by processor threads. It was possible, prior to this commit, for the dataPullers to read from the backend, enqueue the binary data, then trigger termination of the processor threads before the processors ever had a chance to drain the queues. The processor threads now check that their queue is empty before terminating. 25 March 2015, 00:19:27 UTC
15ef62e make ManagementSystem.updateIndex return a future This formerly returned a boolean. It now returns a future. The future is already completed for all operation types except REINDEX and REMOVE_INDEX. Those two types are genuinely asynchronous and return a future backed by a StandardScannerExecutor. 25 March 2015, 00:12:15 UTC
021f593 Delete racy index registration from TitanGraphTest testIndexUpdatesWithReindexAndRemove contained an updateIndex(..., REGISTER_INDEX) that was unguarded by a synchronization barrier and raced with index state assertions in the rest of the method. 24 March 2015, 01:32:50 UTC
01b91f8 Fix successful-boolean in index status watcher RelationIndexStatusWatcher erroneously reported successful convergence even when an index failed to reach the target state within the time limit. GraphIndexStatusWatcher is structurally similar but does not appear to have an equivalent bug. 24 March 2015, 00:28:11 UTC
84d77dd Let backends specify ScanJob DataPuller tx options This specifically supports BerkeleyDB. The ScanJob datapullers, which are strictly read-only, can generally run at a lower isolation level than would be a reasonable default for the rest of the database. ScanJobs now read from BDB at READ_UNCOMMITTED by default, though this can still be overridden by the user. 23 March 2015, 21:26:03 UTC
9b6a654 Excluding PageRankVertexProgramTest As with 0a142db53cc6629582ebe3eaf05c5aedae9139ee, this is blocked on a TP3 change 21 March 2015, 01:04:05 UTC
5f91197 Merge branch 'titan09' of github.com:thinkaurelius/titan into titan09 21 March 2015, 00:36:36 UTC
0a142db Exclude two TP3 UnionTests These tests are failing due to what is likely an illegal retrieval of vertex labels on neighboring vertices in the midst of a traversal by TP3. Excluded pending clarification or resolution on the TP3 side. 21 March 2015, 00:31:35 UTC
d6977cf Minor cleaning up 21 March 2015, 00:07:47 UTC
293511c No longer returning memory compute keys as part of an all-properties .properties() call. This also solves the detachment problem and hence this commit undoes the earlier hack around id(). 19 March 2015, 18:08:32 UTC
732b80b Unignoring TP3 GraphComputer tests. Returning 0 for longId() in FulgoraVertexProperty to allow detachment. Investigate if this is the best option. 19 March 2015, 06:20:31 UTC
7372fca Unignoring TP3 GraphComputer tests. Returning 0 for longId() in FulgoraVertexProperty to allow detachment. Investigate if this is the best option. 19 March 2015, 06:13:16 UTC
93b25d1 Refactors Fulgora and ScanJob (plus executors) to correspond to TP3 setup and parallel execution semantics. Specifically, each thread now uses its own instance of ScanJob or VertexScanJob - cloning if necessary. Rather than using a ThreadPool the StandardScannerExecutor maintains the threads specifically. There is now the notion of a workBlockSize - i.e. the number of rows that are worked on in one block of work. We use one instance of ScanJob per block and call workerIterationStart/End before/after such block. This provides better control over resources needed to execute a particular ScanJob. Fixes #857. Fixes #865. 18 March 2015, 23:11:46 UTC
d5712c5 Reducing severity on a test log line 17 March 2015, 16:52:52 UTC
5b8bcce Deleting oldfulgora and porting its tests forward This commit deletes the oldfulgora package. Several methods in OLAPTest and one method in TitanPartitionGraphTest still depend on oldfulgora. This commit rewrites those test methods that depend on oldfulgora to instead use TP3's GraphComputer. The PageRank test in OLAPTest is marked @Ignore since it currently fails with multiple problems; the test will likely have to be reworked to function independent of PR normalization/scaling. The TitanPartitionGraphTest method that does degree counting with GraphComputer over partitioned vertices is also broken -- an exception is thrown in CachedVertex when attempting to retrieve messages. This might just be a configuration issue (turn on exception swallowing in the property retriever?), but I'm not sure yet. 17 March 2015, 16:47:35 UTC
dfcb36d Merge branch 'BrynCooke-Issue_920' into titan09 11 March 2015, 10:14:37 UTC
a4d8309 Merge branch 'Issue_920' of https://github.com/BrynCooke/titan into BrynCooke-Issue_920 11 March 2015, 10:14:09 UTC
67da346 Added wildcard support for direct queries in ES https://github.com/thinkaurelius/titan/issues/920 05 March 2015, 22:31:57 UTC
4a2c1b0 Merge pull request #970 from BrynCooke/Issue_887 Add UUID support 04 March 2015, 09:57:18 UTC
dfac30f Merge remote-tracking branch 'origin/titan09' into Issue_887 Conflicts: titan-es/src/main/java/com/thinkaurelius/titan/diskstorage/es/ElasticSearchIndex.java titan-es/src/test/java/com/thinkaurelius/titan/diskstorage/es/ElasticSearchIndexTest.java titan-lucene/src/main/java/com/thinkaurelius/titan/diskstorage/lucene/LuceneIndex.java titan-lucene/src/test/java/com/thinkaurelius/titan/diskstorage/lucene/LuceneIndexTest.java titan-solr/src/main/java/com/thinkaurelius/titan/diskstorage/solr/SolrIndex.java titan-solr/src/test/java/com/thinkaurelius/titan/diskstorage/solr/SolrIndexTest.java titan-solr/src/test/java/com/thinkaurelius/titan/diskstorage/solr/SolrRunner.java titan-test/src/main/java/com/thinkaurelius/titan/graphdb/TitanIndexTest.java 03 March 2015, 23:02:47 UTC
97adb1f Merge branch 'Issue_769' of https://github.com/BrynCooke/titan into BrynCooke-Issue_769 03 March 2015, 20:00:39 UTC
76cd0b2 Support Boolean, Date/Time data types in mixed indexes https://github.com/thinkaurelius/titan/issues/769 03 March 2015, 14:18:54 UTC
f226365 Add UUID support https://github.com/thinkaurelius/titan/issues/887 Added UUID mixed index support 03 March 2015, 12:26:16 UTC
7a4dcdd Merge pull request #960 from BrynCooke/Issue_930 Example code: singleProperty changed to property. 17 February 2015, 09:54:16 UTC
6636429 Merge pull request #959 from BrynCooke/Issue_573 Document Geoshapes 13 February 2015, 17:52:44 UTC
b1d2a00 Merge pull request #968 from BrynCooke/Issue_926 Add docs for Mapping.TEXTSTRING 13 February 2015, 17:51:50 UTC
8a7e744 Add docs for Mapping.TEXTSTRING https://github.com/thinkaurelius/titan/issues/926 13 February 2015, 10:33:51 UTC
3be5e9e Example code: singleProperty changed to property. https://github.com/thinkaurelius/titan/issues/930 05 February 2015, 16:44:38 UTC
2e18403 Document Geoshapes https://github.com/thinkaurelius/titan/issues/573 05 February 2015, 15:37:55 UTC
8a77895 Set tinkerpop.ext system property in gremlin.sh This change makes Titan's gremlin.sh compatible with https://github.com/tinkerpop/tinkerpop3/pull/513. Once Titan updates to a TP3 version that includes PR 513, no further changes in Titan (besides this commit) should be necessary to get its benefit. 31 January 2015, 04:23:23 UTC
cfeae14 Merge branch 'BrynCooke-Issue_574' into titan09 31 January 2015, 00:08:10 UTC
57b98be Merge branch 'Issue_574' of https://github.com/BrynCooke/titan into BrynCooke-Issue_574 30 January 2015, 22:09:26 UTC
a2b4755 Added support for parsing geoJson https://github.com/thinkaurelius/titan/issues/574 30 January 2015, 20:44:13 UTC
cab73fe Geoshape - Added support for parsing collections https://github.com/thinkaurelius/titan/issues/572 30 January 2015, 10:12:06 UTC
1ee5ead Add some file excludes to Cassandra's SSL tests In titan05, the tests that depended on Cassandra configured for SSL were marked through a JUnit @Category. This still mostly works, except that tests @RunWith the TP3 Runner seem to ignore the @Category list and run everything. This leads to spurious test failures when test code that assumes a non-SSLized Cassandra ends up talking to a SSLized Cassandra. As a short-term workaround, this commit adds excludes for the test classes that use the TP3 runner under the titan-cassandra ssl-test execution. 30 January 2015, 07:38:41 UTC
e9cd36d Fix timeout around an ES test index state change The old helper method for awaiting state transition on a graph index appears to return prematurely; adding a 5 second sleep afterward fixed a test assertion failure. Switching to a newer state transition helper that doesn't seem to have this problem. 30 January 2015, 05:12:34 UTC
24c1ef8 Change exception type to pass TP3 test Fixes a failure in TransactionTest.shouldHaveExceptionConsistencyWhenTransactionOpenOnClose, which expects the exception thrown when a manual tx is left unclosed be an IllegalStateException 30 January 2015, 04:01:38 UTC
897648e Make ThriftGraphProvider start embedded Cass TP3's test runner expects to be able to open a graph before running the @BeforeClass methods on the test. Tests that depend on ThriftGraphProvider, including ThriftStructureTest, would fail when run in isolation because embedded Cassandra wasn't started before the test runner tried to open a graph, despite @BeforeClass methods on the test. 30 January 2015, 03:59:40 UTC
4a9921f Updated to jackson 2.3.0 to match tinkerpop Closes #947 29 January 2015, 17:48:36 UTC
9b49c97 Add TP3 data files to titan-dist These files are taken from TP 3.0.0.M7. There seemed to be incompatible format Kryo (.gio) changes between M6 and and M7; I ran into exceptions in the Kryo reader when attempting to load the M6 files using an M7 runtime. This may need another update when TP3 finalizes. 29 January 2015, 07:32:11 UTC
42cab3e Add hadoop-gremlin to plugins.txt 29 January 2015, 07:30:32 UTC
cae94d5 Committing a (weak) bulk load schema checker This modifies BulkLoaderVertexProgram with optional and very limited data integrity checks. The checks only look at edge multiplicity and property cardinality constraints verifiable from the perspective of a single vertex. They're memory inefficient. They're incapable of detecting violations involving relations already in Titan (incremental loading). This implementation started out as a TP3 MapReduce job before I noticed that MR jobs couldn't be placed before VertexPrograms in the computer model, then as a VertexProgram before I noticed that only one VP is allowed per computer execution, and then finally as a bunch of conditional-enclosed paths inside BulkLoaderVertexProgram. I'm not even convinced the weak guarantees theoretically offered by this change is worth the extra complexity. It's off by default. 29 January 2015, 07:21:38 UTC
bac1cc3 Fix Giraph-related environment variable The hadoop-gremlin module's Giraph backend requires a certain environment variable that points to a colon-delimited list of jars or directories containing jars that will be made available to the Giraph job executed via MR. This commit updates that environment variable in gremlin.sh to point to lib. 29 January 2015, 07:21:38 UTC
d571643 Add hadoop-gremlin to titan-dist 29 January 2015, 07:21:38 UTC
7bd3abf Removing custom shorthand registration This is a follow-on to 110e22c818314f65ab9a0d27cb4ab429abda0db6 I just changed the resource containing shorthand->class mappings to a fully-qualified package-and-filename string. That dramatically reduces the odds of accidentally overwriting the file with nonsense, but it also provides no clean way for third-party implementors to add mappings. I don't think centralizing this information in a file is the way we want to approach custom shorthands anyway. Removing the custom shorthand feature and making the index and storage backend mappings immutable again. This commit does not affect the standard shorthands. For example, "cassandra" is still a valid shorthand. For #929 23 January 2015, 23:46:42 UTC
110e22c Fix custom backend shorthand registration There are two related but distinct logical changes in this commit: * Changed the list of index and storage backends from immutable to mutable collections to allow provision of custom shorthand->class mappings for third-party backends. * Made Backend look at a fully-qualified resource name instead of just loading the resource named "titan.properties", which is such a natural filename for a user's config that it tends to cause conflicts. TitanConstants already used a fully-qualified packagename when looking up this resource, but Backend didn't. Also renamed the resource file from "titan.properties" to "titan.internal.properties". For #929 23 January 2015, 23:10:50 UTC
8d5f50c Make UPGRADE.asc match (newer) docs/upgrade.txt 23 January 2015, 19:37:59 UTC
b5db546 Fix 0.9.0-M1 upgrade instructions 0.9.0-M1 is artificially incompatible with all other versions, though the storage format should generally interop with older versions. 23 January 2015, 17:35:42 UTC
3edd935 Update code snippet for titan09 For #919 23 January 2015, 17:06:37 UTC
d343091 Attempting to use "berkeleyje" consistently We've used berkeleydb and berkelyeje interchangeably, but that invites confusion. Attempting to change remaining references to "berkeleydb" to "berkeleyje". For #864 23 January 2015, 04:30:40 UTC
00e9c46 Add helpers for polling index status Some utility methods intended to simplify the code required to wait until a graph or relation index converges on a target state (e.g. switching from INSTALLED to REGISTERED) For #709 23 January 2015, 00:36:04 UTC
fbc6c22 Tweak TTL key name in tests 21 January 2015, 06:27:18 UTC
b5e69b9 Copying README-ish updates for 0.5.3 to titan09 21 January 2015, 03:08:35 UTC
645d37d Merge branch 'titan09' of github.com:thinkaurelius/titan into titan09 21 January 2015, 03:02:47 UTC
63788c7 (Solr) only add + when AND query has more than one condition (cherry picked from commit 2a99d97913d8c05c7a53ceca77af944452fcde4c) Conflicts: titan-test/src/main/java/com/thinkaurelius/titan/graphdb/TitanIndexTest.java 21 January 2015, 02:32:05 UTC
109f41a Ignore computer test for now. 21 January 2015, 02:17:22 UTC
4e03488 Fixed transaction test case by initializing schema up front. 21 January 2015, 02:16:34 UTC
1e7b8e1 Changing query fit expectations in tests e538117710d373b4b8690f4c0a32f40206f41890 changed some queries that used to be fitted into unfitted queries. This caused failures in test expectations around fitted-ness. This commit changes several fitted=true expectations to fitted=false in an attempt to match the new implementation behavior. (cherry picked from commit 190d42c58b0cdb420cfff33e5ecb9ece1bb577d5) Conflicts: titan-test/src/main/java/com/thinkaurelius/titan/graphdb/TitanGraphTest.java 21 January 2015, 02:05:03 UTC
e6d7fca Fixes #890 (cherry picked from commit e538117710d373b4b8690f4c0a32f40206f41890) Dropped changelog entry for 0.5.3, fixed test Conflicts: CHANGELOG.asc titan-test/src/main/java/com/thinkaurelius/titan/graphdb/TitanGraphTest.java 21 January 2015, 01:57:49 UTC
c1234d7 Fixes #853 (cherry picked from commit af0dd8a17638ae59907c6e8076f47659a78fc326) Dropped CHANGELOG entry for 0.5.3, tweaked other conflicted files to compile Conflicts: CHANGELOG.asc titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/serialize/StandardAttributeHandling.java titan-core/src/main/java/com/thinkaurelius/titan/graphdb/types/system/ImplicitKey.java titan-test/src/main/java/com/thinkaurelius/titan/graphdb/TitanEventualGraphTest.java 21 January 2015, 01:53:26 UTC
2b632b7 Fixes #868 (cherry picked from commit 4a63653efc65114ab2b5b2ecd47d9df43c5c2edc) I dropped the edit that caused a conflict in CHANGELOG.asc. Conflicts: CHANGELOG.asc titan-test/src/main/java/com/thinkaurelius/titan/graphdb/TitanGraphTest.java 20 January 2015, 21:12:40 UTC
691ec88 Make index.hostname Maskable so that the hostname can be updated when the external index cluster changes. Fixes #880. (cherry picked from commit 4ffb0e9a465d83762a968cc0380c54f08ab2d662) 20 January 2015, 21:09:48 UTC
eba374e Only apply cache.tx-cache-size min on r/w tx This iterates on a3ea0e5c3cc566984f652619f71b0e058d716909. Read-only transactions can go under the minimum tx-cache-size setting now. Only write-capable transactions are still subject to the minimum. (cherry picked from commit af784bd93ef4cbcd8356bd2a255dbcaa2bc4d2a2) 20 January 2015, 21:09:48 UTC
a97710d Put a min of 100 on cache.tx-cache-size This is a workaround for #893 that's likely to avoid race conditions related to small tx-cache-size values in practice, though it does not technically eliminate the underlying problem. Prior to this commit, I investigated an alternative approach involving WeakReference and a consuming ReferenceQueue drained from the same thread that touches GuavaVertexCache, and that passed Titan's tests appeared to log all the right things via slf4j, but it's still too scary right to introduce so close to a release milestone. The assumption required to make that WeakReference approach work is that dirty vertices are at all times reachable via at least one strong reference *outside* GVC (on any GC root), but it's not completely trivial to prove this for all of Titan's internals. It's also impossible to write a watertight test for the WeakReference approach since its behavior is inextricably linked with GC. (cherry picked from commit a3ea0e5c3cc566984f652619f71b0e058d716909) 20 January 2015, 21:09:48 UTC
1de99f9 Fix whitespace in graph.set-vertex-id description (cherry picked from commit 75783543644aff45ee56b3a4d0cbab42d91399f2) 20 January 2015, 21:09:48 UTC
d3c9a49 Update links to manual in javadoc comments For #905. This updates the specific outdated URL pointed out by @jaceklaskowski. It also updates several other old wiki URLs turned up by a recursive grep for 'github.*titan/wiki'. (cherry picked from commit da15f294ed693e30409e76d8f88e27d7aa257c41) 20 January 2015, 21:09:48 UTC
aff0b11 Removing outdated query precondition This precondition check no longer applies with Contain.IN support, and the underlying invariant it expresses isn't valid anymore. Removing it following discussion with Matthias. For #882 (cherry picked from commit 4e38eca1540b4b42d2c722b8f063adda5c87f537) 20 January 2015, 21:09:48 UTC
6090164 Add failing test with vlabel and Contain.IN conds cherry-pick was able to apply this diff without errors, but changes in titan09 meant that it produced compile errors even though the diff/patch process was clean. Required a bit of manual API fixup around vertex labels and commits, but no changes to the substance of the test. This is based on #882 (cherry picked from commit 5c8161150f04f33ce40e4fc6981d72dc79f1970b) 20 January 2015, 21:09:25 UTC
84cb575 Add basic test of ES index creation options This commit adds a test of the new functionality introduced by 6569f8b060a86a6291326e76f5dbe612732b2f7f. For #840 (cherry picked from commit 29491f362521e74f7459aec14c21682589e4050b) 20 January 2015, 20:20:01 UTC
3cdc241 Tweak TitanOperationCountingTest expectations This test was broken by de177b9e59b02cd865fb9e49aa4d1a120353ced8 and 03a4c5fb8919d2ff5c0a00c705f0a43818751a95. Updating it to reflect the changes to the way Titan reads schema elements following those changes. (cherry picked from commit b08be31fdb9b428b18389d1261cd834fa414c8bd) 20 January 2015, 20:15:28 UTC
3247d28 Add helper method for exception/null-safe rollback This commit introduces a TXUtils.rollbackQuietly which is roughly similar to IOUtils.closeQuietly. This might become obsolete in Titan 0.9 where we can assume try-with-resources and txs are AutoCloseable. First used as part of #881's implementation, but not specifically related to that issue (cherry picked from commit a83e46304c13d16b9bbb94add6f7f49c73bb4627) Conflicts: titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/StandardTitanGraph.java 20 January 2015, 20:14:22 UTC
7d6a0cc Removing tx from SchemaCache method params Now that the SchemaCache.StoreRetrieval implementation constructs a new, cache-disabled transaction for each schema read method invocation, it no longer uses the tx param to its various methods. This lets us remove the tx param from both SchemaCache.StoreRetrieval's methods and SchemaCache's methods. For #881 (cherry picked from commit 9977456a110929d1104138915c14d09d348ef137) Conflicts: titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/cache/SchemaCache.java titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/cache/StandardSchemaCache.java titan-core/src/main/java/com/thinkaurelius/titan/graphdb/types/vertices/TitanSchemaVertex.java 20 January 2015, 20:12:14 UTC
9655018 Disable cache on correct tx for schema reads de177b9e59b02cd865fb9e49aa4d1a120353ced8 modified StandardTitanGraph.typeCacheRetrieval's retrieveSchemaByName and retrieveSchemaRelations methods to each instantiate a new StandardTitanTx using a key-consistent backend config (i.e. Cassandra QUORUM) inside each retrieve method to perform schema reads. Those methods also disabled cache on a transaction just before the schema reads. However, they disabled cache on the wrong tx -- when I introduced a a new key-consistent tx to these methods for schema reads, I failed to move the disableCache invocation from the old tx to the new key-consistent one. Now cache is disabled on the actual StandardTitanTx used for the schema schema vertex/relation read For #881 (cherry picked from commit e00073c07557d346acfe697165a7764f98349abb) Conflicts: titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/StandardTitanGraph.java 20 January 2015, 19:46:31 UTC
2a421cf Use consistent tx for schema retrieval Experimenting with opening a new transaction with a reference held on the stack solely for the purpose of reading schema vertices and schema relations. For #881 (cherry picked from commit bc88a4598c16486efd191c4a327ccd077c0beac2) Conflicts: titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/StandardTitanGraph.java titan-core/src/main/java/com/thinkaurelius/titan/graphdb/transaction/StandardTransactionBuilder.java 20 January 2015, 19:45:14 UTC
736d71a Throw new ExpiredLockException when applicable This commit modifies ConsistentKeyLocker and its superclass to implement the new behavior expected in 6ea5ebf8d0b13c025d08a4734037fb725d0e089c. Previously, a lock that expired while a transaction was holding it would throw a cryptic TemporaryLockingException with the message "No lock columns found for KeyColumn [k=foo, c=bar]". This is not a helpful exception in most cases; the log for ConsistentKeyLocker emits a WARN about the expired lock shortly before this is thrown, but it would be better to have a specific exception type and message to make it clearer about what's happening in this case. Now we have ExpiredLockException. This is a a subclass of TemporaryLockingException. The message string used with it is something like "Expired lock on KeyColumn [k=foo, c=bar]: raw lock timestamp 1418915175000000 MICROSECONDS is older than Duration[300000 ms]". (cherry picked from commit 24f93bbdfff7b20a0e11bfd747813ba1a48111cb) 20 January 2015, 19:18:28 UTC
4b9b783 Tweak ConsistentKeyLockerTest's expired lock tests This introduces a pair of tests around expired lock behavior: * Check that our own expired locks throw a new ExpiredLockException class when checked * Check that expired locks left behind by other instances, or by the current instance but with a different-than-expected write time, do not necessarily throw an exception in check (unless they prevent the transaction from verifying one or more of its own locks) Previously, only the latter case was implemented and tested. The former case is essentially a special case for #892, wherein we want to provide a more meaningful exception type and message in the event that a transaction's locks expire while held. (cherry picked from commit 6ea5ebf8d0b13c025d08a4734037fb725d0e089c) 20 January 2015, 19:18:20 UTC
e2c6da5 Minor javadoc improvement on lock status class (cherry picked from commit bb6a3585774d4a69d8dfb5bacedae0cc16eb6c86) 20 January 2015, 19:18:14 UTC
f20f55a Modify LuceneIndex to support REGEX on STRINGs Lucene (at least at our present version) does not seem to provide a Filter implementation that does regex matching. It does provide a Query implementation for regex matching. LuceneIndex was only built to generate Filters; it always used MatchAllDocsQuery. This change modifies LuceneIndex to allow the convertQuery method to build both a Filter and an accompanying Query. The Lucene REGEX tests introduced in 8f712e70d767313fa4ad401bd295e9bff9fd97bf pass at the moment. For #879 (cherry picked from commit 902e80b565730facf4a14e9357a447e4f62b31f5) 20 January 2015, 19:18:03 UTC
a29d302 Enable REGEX tests on Lucene Added a test of Text.REGEX that explicitly specifies Mapping.STRING so that it will activate on Lucene. This commit also makes LuceneIndex report that it supports REGEX, though the implementation just throws an exception right now. The tests are failing. Implementation is up next. For #879 (cherry picked from commit c298297bc234a3a068a99e392c47839a6ce5082d) 20 January 2015, 19:17:55 UTC
a0d123c Deduplicate common ES & Lucene support tests LuceneIndexTest and ElasticSearchIndexTest both implement a testSupport() method that runs assertions on index.supports(...) with a variety of datatypes, mappings, and predicates. Most (but not all) of these testSupport() method bodies were identical between the two test classes. The common segment has been extracted to the shared parent class IndexProviderTest as a new method named testCommonSupport(). This change is intended to simplify upcoming REGEX-related test changes in LuceneIndexTest for #879 (cherry picked from commit e30672897c778daf4bd8d3d442f30e60719c1e9b) 20 January 2015, 19:17:48 UTC
98e403a Make Cmp.EQUAL array-aware Array values are now compared with Apache Commons ArrayUtils.isEquals, which is essentially Arrays.equals, but safe for multidimensional arrays. (cherry picked from commit 50c0998b2a8251779f01e547b8d6a9ca334ed9a4) Conflicts: titan-core/src/main/java/com/thinkaurelius/titan/core/attribute/Cmp.java 20 January 2015, 19:17:03 UTC
a55e510 Add test of Cmp.EQUAL with array value This test fails currently This cherry-pick had to be adjusted slightly for the new user-facing TP3-based API in titan09, but the substance is unchanged. For #878 (cherry picked from commit 2bf1ca3bb8ed14a9fcf6207b762b9c5f7ff53c4b) 20 January 2015, 19:16:28 UTC
0e2ce19 Static-import Cardinality and Multiplicity values This is a rewrite of an equivalent commit on the titan05 branch with hash e91119524b87a2d87f4cf23066bbc0866634464e. The titan09 code related to the shell has changed too much for cherry-pick to be useful with this commit. 20 January 2015, 18:53:17 UTC
back to top