Commit Graph

231 Commits

Author SHA1 Message Date
zhoney 8ae6b5e153
close tx in vertex/edge query only if needed (#1039)
Change-Id: I0cc7b3897700449c9215e722e3e9e814f27a1b33
2020-06-16 17:57:52 +08:00
zhoney 18c2804038
close tx in vertex/edge query rest api (#1038)
Change-Id: Ic5bccf464dd40a972026663790555eef5e47ceb6
2020-06-16 15:25:08 +08:00
Jermy Li 7eef881f19
rename auth api and fix some bugs (#1033)
* add 'auth' category before all auth APIs
* fix unable to removeEdge() when enable auth
* fix delete admin user(expect not allowed)
* check auth element not exist before creating
* throw 400 instead of 404 when delete non-exist element

Change-Id: Id8c4f39195f9f6cea95fdbe591592b0f1baf0627
2020-06-15 15:50:49 +08:00
Jermy Li 073b070f8e
fix auth: property of int or date type can't be filtered (#1004)
Change-Id: I9227897f9ddb00cb5cf0547e43fc8d06c150f191
2020-06-04 17:58:59 +08:00
Jermy Li eb8fa1c300
fix auth bugs (#1002)
* fix auth bug
* support task details permission
* allowed system schema(like user/task/var) accessed by anyone
* remove GREMLIN_JOB res type and add task EXECUTE
* improve variables exception cause
* fix variables init-schema race condition
* add log and fix permission for one user access another

Change-Id: I05a5d3ea16a434ad53a6ffa760bdf4bf25ce1089
2020-05-26 21:31:02 +08:00
zhoney 31c1288715
support results count for kneighbor/kout/rings (#995)
* support count api to accelerate kneighbor/kout count

implement: #994

Change-Id: Ieb7702a1bb8304391585704469cc7c7f6b07f565
2020-05-26 19:40:58 +08:00
zhoney cadc15ab86
support ttl for vertex and edge (#794)
* support edgeLabel ttl
* extract async deletion from serializer to GraphIndexTransaction
* change HugeIndex structure
* support vertex label ttl
* move expired objects delete out of gtx
* get now time from tx
* add ttl filed in BackendEntry for Cassandra and Hbase
* set tx openedTime in setOpened() of transaction

implemented: #295

Change-Id: I16a762c5aa850f14cbd554d29fb8592db87e7619
2020-05-14 11:07:38 +08:00
Jermy Li 409bdbb83b
add grant permission api (#985)
* add grant permission api
* upgrade version to 0.11.1
* share usermanager

Change-Id: I58e6e5a8c950ad74fc1ccbcee8e8ca28d48a27e9
2020-05-11 15:33:41 +08:00
Jermy Li 351367e735
support permission for property (#971)
* support permission for property
* add creator property for users class
* redefine resource type
* define all objects as resources

Change-Id: I90ea2d1bf955db5cdd629879261152bfea48b6da
2020-05-11 11:28:38 +08:00
Jermy Li 26c4498463
fix permission overflow from return results (#969)
* fix permission overflow from return results

also:
 * hide private methods and fields for reflection that require permissions
 * delete stale index of task directly
 
add HugeGraph.java and TaskScheduler.java: separate commits to avoid no git diff

implement: #209
Change-Id: Iccfbd47c213e1e13122190d1242778031e8a957c
2020-04-24 15:42:43 +08:00
Jermy Li 17417dfff5
implement users store and access control (#749)
* support users auth
* implement authenticate()
* support fine-grained access control
* add permission access edge label
* fix admin
* support gremlin permission details control
* commit manually
* fix some errors of new code
* use BCrypt to check password

implement: #209
Change-Id: I6492c284b6677b9dd1ef545aaf08c5d6e5cf8ad7
2020-04-23 17:14:22 +08:00
zhoney 31bfb4a0d2
improve 5-tp algorithms (#936)
* keep api version 52

Change-Id: Ie69d4d4248223a43b8c75bec77bf049cafa634b2
2020-04-08 22:16:45 +08:00
Jermy Li 95b18532b5
Support offheap cache (#846)
* Support offheap cache
* fix BytesBuffer inner wrapped ref changed
* fix serializedSize() not equals actual bytes length
* add support for expiring entry
* add multi-level cache
* add more data types serializer

implememnt #844
Change-Id: Ib0170b5d6b442231f77dba29e4b2d2270225c935
2020-04-07 20:34:17 +08:00
Jermy Li a24f7ecdd4
Support range query for rest api like P.gt(18)/P.lt(3.14) (#782)
implement: #781

Change-Id: I4a4b8a78708dff1a27d0168b27b77958ee9fcfde
2020-04-06 19:49:06 +08:00
Linary 1fe09d0dd2
Increase task result limit (#925)
* Increase task result limit
* Let task input and result property datatype as blob
* Support config task input and result size limit

Change-Id: Ib2c4bdf25e4604d8bea47802e724c0f0934170fb
2020-04-06 19:26:23 +08:00
zhoney 04607d01b8
add 5 TP algorithm (#919)
1. same neighbors
2. jaccard similarity
3. all shortest paths
4. weighted shortest path
5. single source shortest paths

Change-Id: I84788b5145fadb91b8b0d97c66c2f62e12c8294e
2020-04-05 19:05:21 +08:00
Jermy Li 9166c269fe
Fix rocksdb oom with g.V().hasLabel().count() (#823)
* fix iter gloabal
* Manually close the iterators
* catch locks in every batch
* limit iterator to list
* improve cache iter
* fix system index-label graph() return null
* add QueryResults.one() method
* fix BatchIdHolder dead loop with batchSize=0
* fix test iterators don't be closed
* add option query.batch_size
* force limit BatchIdHolder.all()
* adapt ListIterator.list() return Collection<T>
* set default value of check_customized_id_exist option to false
* fix cassandra oom
* fix offset bug
* Increase limit for intersection
* fix check subRows().size() <= INLINE_BATCH_SIZE

Change-Id: I13daaa513b2f5ddc69bcae4d548f263ad1f5b08d
2020-03-13 13:57:55 +08:00
Linary 4f46a851c3
Upgrade jackson version to 2.10.2 (#859)
Change-Id: Ia78865af2d6eb4ab890f6a432690856619226b41
2020-02-24 13:09:00 +08:00
Jermy Li dee579d989
fix task-cancel error with saving failure task (#827)
Change-Id: Ib61c8cdae2e73d346dd611791d47faa30eac6e5a
2020-02-24 09:27:15 +08:00
zhoney 08af8f8fdc
add graph name check in gremlin and rest config (#854)
fixed: #850

Change-Id: I5c4c82c784aebeb0bfe910107d7d4e19abc62d7c
2020-02-19 10:57:20 +08:00
Linary 5952dc3327
Fix mac check bug (#830)
Change-Id: If7df1f3906b334bdf82523a07f4a1fa040f729d3
2020-02-06 00:43:12 +08:00
Linary 7e926ac55c
Fix: batch update edge with edgeId and unmatched sortKeys will create a new edge (#819)
Fix #818

Change-Id: Ic929a4267fc411c156a32e5b381d314f382ebc9a
2020-02-04 11:43:11 +08:00
Linary ef68289633 Record create time when create schema (#746)
Change-Id: I8a1156d4262969c1b287f1eac999614549d81b3a
2019-12-24 17:37:51 +08:00
Jermy Li 4e17916fd0 allow rest api to query vertices & edges with multi properties by paging (#759)
implemented: #658
Change-Id: Ic803bc5d11bbd77d8d2b8b7c3cc247cdd5d7781e
2019-11-27 19:15:23 +08:00
zhoney 60ab1d8cd0 support fusiform similarity API (#671)
implemented: #670

Change-Id: I3b3bc58716b9cb4d88fa5dfe0975773310a74d5a
2019-11-27 17:00:26 +08:00
Linary dbf5eb53cb Upgrade version to 0.11.0 (#739)
Change-Id: I565dbbe34f746ca5d7fed0f29bdd6e0bf46b4675
2019-11-11 14:24:13 +08:00
zhoney 275b6d3f0d upgrade hugegraph-core jar version to 0.10.4 (#736)
Change-Id: I1f89c42cc58d595cdf9be1b0d788d1c6ffe68121
2019-11-07 16:25:12 +08:00
Jermy Li 5878d8f61d fix: The backend store of 'xx' has not been initialized (#708)
The backend has been initialized, but this error is still raised.

fix: #632

Change-Id: I9890559365c01bd73bc85c25e1cb058c2637fb0d
2019-11-04 11:28:45 +08:00
Jermy Li 95eba359e9
support paging for tasks API (#720)
Change-Id: Ie036d433ef74d7c6724bf869425c3fd528f08941
related: #718
2019-11-04 11:26:43 +08:00
Linary 6bb8ef5b08 Verify md5 for public cert (#725)
Change-Id: I6990dad4ad6956d0f644cc2900e8bcb5c0cd37b8
2019-11-03 22:46:16 +08:00
Linary 2eae9c393a Support get schema by names (#686)
Change-Id: Id188751189ddd651a32604fb364410bcf857745d
2019-10-14 15:56:07 +08:00
zhoney 00faffdf74 support aggregate property (#693)
implemented: #691

Change-Id: I340d7be28090718537e1a531147f1e1155a1beb5
2019-10-12 17:32:28 +08:00
Jermy Li 3ef07e0e38 fix uuid serialize (#694)
Change-Id: I4615dacacdc818302563e11bd58c616a3b1cef03
2019-09-27 11:27:07 +08:00
imbajin 9d8ceb4dfc Optimize update logic & add a new strategy (#673)
1. if original data is not null but new data is null, use original data instead of null
2. add update strategy "OVERRIDE"
2019-09-24 20:26:07 +08:00
Linary 4ee38fa79b Relax restrictions on minimum memory (#689)
Improve #682

Change-Id: I92ae91b0ab5076566fcbbe10d4d48122ffd9dde5
2019-09-18 21:44:08 +08:00
Linary 1c062b8947 Upgrade tinkerpop version to 3.4.3 (#648)
Change-Id: I5443b6a05eea74205a373f093dad27536e04f0be
2019-09-12 19:04:30 +08:00
Linary 94c2d34ce8 Support to verify license (#645)
Change-Id: Ia3fb6b38a032442e1d8bf7cee4d7b4032dc219df
2019-09-09 20:58:41 +08:00
Jermy Li 26e48a27f1 encode numeric values in secondary index and primary-key (#676)
Change-Id: I6acfad358745a54284f80d236243bfbef61d2deb
2019-09-02 17:15:24 +08:00
Jermy Li 0a0578fdb9
support rest api timeout (#674)
implement: #665
Change-Id: Id6b36904494a57e18d67bb73db8ce906858d9cb1
2019-09-02 14:25:28 +08:00
zhoney b230019251 support query edges of vertex in page (#659)
implemented: #658

Change-Id: I26e8efb1e8e3547f403dd97e2ddc367df69eae51
2019-08-27 11:53:15 +08:00
zhoney 1e01920552 support unique index (#636)
implemented: #633

Change-Id: I753a81d0d47b0d7979563d5a9f41d368e06a5b33
2019-08-19 21:27:42 +08:00
Linary 78f361a8c7 Improve some metrics name in vertex/edge api (#631)
Change-Id: I56fc983736a3f2ae4cd3b29a944e62cd8b6f8bde
2019-08-09 13:14:56 +08:00
zhoney e37937bd85 map indexlabel various range type to RANGE (#628)
Change-Id: I0e3d241de3bef100a3d789486c3eae96d203b791
2019-08-06 17:43:46 +08:00
zhoney 0e66c64fec support shard-index and vertex + sortkey prefix query (#574)
implemented: #270 and #398

Change-Id: I444b67b7f57a18fd32c29d54d776cf411ccd847a
2019-08-06 11:16:52 +08:00
Linary b01549a579 Not allowed perform sensitive operations via gremlin (#176)
Implement #145

Change-Id: I9a590fe40d3b5a808b569ed0af8fd83214a2941a
2019-07-29 14:21:40 +08:00
imbajin 3fcfce2bb7 Support batch updating elements' property by multiple strategy (#493)
support strategies:
  SUM, BIGGER, SMALLER on Number or Date
  UNION, INTERSECTION, APPEND, ELIMINATE on Collection
2019-07-23 18:36:49 +08:00
zhoney 8d23665a40 Add source_in_ring args for rings API (#528)
fixed: #523
Change-Id: If8c5cc4d8678f847ce4a5f0388e56aae465d3ea6
2019-07-01 22:01:24 +08:00
Linary 6a4aaae453 Support to detect connection before using if needed (#562)
Fix #556

Change-Id: I622e285f812098d601061f2515d70629f1e07d88
2019-06-13 18:21:45 +08:00
Linary 6f6fac942c Shutdown RestServer and GremlinServer when stop (#554)
Change-Id: Iae5a6506dfaa0eeb6698f42f8bb3ef7f0ee73321
2019-06-13 18:20:49 +08:00
Jermy Li b63277e583 improve error message with readable HugeType (#546)
Change-Id: I633eee63fe9458cdc910f977fccec8fd0109f1d2
2019-06-03 18:05:23 +08:00