Skip to content
Merged
Show file tree
Hide file tree
Changes from 54 commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
bda3140
chore: add auto pr review workflow
imbajin Jun 12, 2025
bcb9720
feat(hugegraph-struct): initialize module with core type interfaces a…
Tsukilc Sep 3, 2025
3c7bdce
chore: refresh known-dependencies.txt
Tsukilc Sep 4, 2025
2e89f70
refactor(store): integrate store grpc module (#27)
JisoLya Sep 5, 2025
4505030
feat(pd): add methods to query graph status and cluster status (#22)
koi2000 Sep 7, 2025
cc0c437
chore: update workflow for 🚧 stage (#32)
JisoLya Sep 8, 2025
12f716e
feat(pd): add build index task in pd (#23)
koi2000 Sep 8, 2025
972f8fd
refactor(store): integrate store rocksDb module (#34)
JisoLya Sep 8, 2025
5747ee3
refactor(pd): refactor common module (#24)
koi2000 Sep 12, 2025
ec014fb
refactor(store): integrate store-common module (#26)
JisoLya Sep 12, 2025
ea1be0c
feat(pd): add MetadataService in pd
koi2000 Sep 14, 2025
69bd40f
feat(client): add basic authentication and optimize client configuration
koi2000 Sep 15, 2025
b15bf21
refactor(pd): refactor pd client connection management
koi2000 Sep 15, 2025
e67a0ee
refactor(test): rewrite the test code and add new test cases
koi2000 Sep 15, 2025
9a8d648
refactor(pd): refactor the pd client
koi2000 Sep 16, 2025
f5a8a60
feat(auth): implement authentication mechanism for REST and gRPC serv…
koi2000 Sep 19, 2025
15d595a
refactor(pd): simplify variable declarations and improve error handli…
koi2000 Sep 19, 2025
9a945f8
refactor: optimize JSON conversion and improve date formatting in mul…
koi2000 Sep 21, 2025
d7536d3
refactor(pd): improve thread safety and optimize channel management i…
koi2000 Sep 22, 2025
20ff71e
refactor: enhance graph name validation and logging in GraphStatistic…
koi2000 Sep 22, 2025
7ec2866
refactor(pd): improve error handling for shard address assignment in …
koi2000 Sep 22, 2025
245a39d
feat(cli): add CLI commands for changing Raft and checking peers
koi2000 Sep 22, 2025
bc266b9
fix(cli): improve command error handling and input validation
koi2000 Sep 22, 2025
cc3ddff
refactor(pd): refactor pd test cli module
koi2000 Sep 22, 2025
3f00669
chore(store): add struct dependency in store-core
JisoLya Sep 16, 2025
c39b3f8
feat(store): modify iterator & businessHandler to support computation…
JisoLya Sep 16, 2025
305693a
refactor(store): update utils
JisoLya Sep 16, 2025
de55dff
feat(store): add async task processors and corresponding metadata
JisoLya Sep 16, 2025
65597ab
feat(store): add raft closure and raft operation and SnapshotHandler
JisoLya Sep 16, 2025
006ea76
refactor(store): replace DefaultDataMover with DataManagerImpl and up…
JisoLya Sep 16, 2025
e8c9be7
chore(store): reformat code
JisoLya Sep 21, 2025
a18ad40
fix(store): fix potential NPE and concurrency problem
JisoLya Sep 22, 2025
579dc03
chore(store): remove deprecated request/response code
JisoLya Sep 22, 2025
9c0ab7b
feat(store): add FixGraphIdController and RaftAPI; enhance status and…
JisoLya Sep 16, 2025
f4dc5bb
chore(store): reformat code
JisoLya Sep 18, 2025
98eca63
fix(store): optimize options API parameter check & error handling
JisoLya Sep 19, 2025
7c4d165
feat(server): add kv store
Tsukilc Jul 24, 2025
d2ddd53
feat(server): add k8s api for graphSpace
Tsukilc Aug 31, 2025
54f653a
feat(server): add graphSpace in HugeGraph.class
Tsukilc Aug 31, 2025
f29e74b
feat(server-test): add graphspace in test
Tsukilc Aug 31, 2025
01b07c3
feat(server): Add graphSpace CRUD API, service API and registerAPI
Tsukilc Sep 3, 2025
c744d37
fix(test): fix test to support graphSpace
Tsukilc Sep 5, 2025
ff3e2da
fix(server): change graphspace/graph to graphspace_graph in hbase
Tsukilc Sep 7, 2025
3edd53e
chore(license): add dependencies in known-dependencies.txt
Tsukilc Sep 7, 2025
fe1e909
fix(server): add ServerOptions: usePD to know whether user use
Tsukilc Sep 7, 2025
784b661
refactor(store): integrate store cli module
JisoLya Sep 24, 2025
66133b6
fix: fix problems found in ci (#51)
JisoLya Sep 26, 2025
389b753
fix(pd): fix the NPE error in AbstractClient's constructor and remove…
koi2000 Oct 7, 2025
10ab5b6
feat(server): change time fomat to yyyy-MM-dd HH:mm:ss.SSS
Tsukilc Oct 5, 2025
381202e
refactor(store): integrate store client module (#47)
JisoLya Oct 14, 2025
df6b2c6
fix: fix NPE in CI (#60)
JisoLya Oct 16, 2025
940a7b1
refactor(license): remove license management-related code and depende…
koi2000 Oct 21, 2025
3b5554e
fix(server): fix auth test (#64)
Tsukilc Oct 23, 2025
aaec4da
fix(struct): Fix the classpath conflict between struct and server (#65)
Tsukilc Oct 24, 2025
86c5f61
fix(server): improve label matching and code clarity in HugeAuthentic…
imbajin Oct 27, 2025
cfe3333
chore: bump project version from 1.5.0 to 1.7.0 (#72)
Tsukilc Oct 27, 2025
3bd4035
chore: update CodeQL workflow and cleanup dist.sh file
imbajin Oct 27, 2025
183a2ba
refactor(auth): simplify rpc-auth logic and clean legacy code (#73)
koi2000 Oct 28, 2025
c90f6a6
docs: add AGENTS.md with project guidance
imbajin Oct 26, 2025
e7f20bf
docs(pd): init HugeGraph-PD README file
imbajin Oct 28, 2025
541c502
docs(pd): add PD architecture documentation
imbajin Oct 28, 2025
295b5db
docs(pd): add PD API reference documentation
imbajin Oct 28, 2025
7d9943e
docs(pd): add configuration & development guides for PD
imbajin Oct 28, 2025
02dc04b
fix(server): handle graph data sync inconsistent problem (#74)
koi2000 Oct 28, 2025
2413edc
docs(store): add comprehensive store design doc
imbajin Oct 29, 2025
143d330
docs(store): add deployment/practices/development docs
imbajin Oct 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 35 additions & 0 deletions .github/workflows/auto-pr-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: "Auto PR Commenter"

on:
pull_request_target:
types: [opened]

jobs:
add-review-comment:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Add review comment
uses: peter-evans/create-or-update-comment@v4
with:
issue-number: ${{ github.event.pull_request.number }}
body: |
@codecov-ai-reviewer review
3 changes: 2 additions & 1 deletion .github/workflows/check-dependencies.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

name: "3rd-party"

on:
Expand Down Expand Up @@ -32,7 +33,7 @@ jobs:

- name: mvn install
run: |
mvn install -Dmaven.test.skip=true -ntp
mvn install -Dmaven.test.skip=true -ntp --fail-at-end
- name: generate current dependencies
run: |
bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh current-dependencies.txt
Expand Down
62 changes: 54 additions & 8 deletions .github/workflows/pd-store-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,50 @@ on:

# TODO: consider merge to one ci.yml file
jobs:
struct:
runs-on: ubuntu-latest
env:
USE_STAGE: 'false'
steps:
- name: Install JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'zulu'

- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 5

- name: Use staged maven repo settings
run: |
cp $HOME/.m2/settings.xml /tmp/settings.xml || true
mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml

- name: Resolve project revision
run: echo "REVISION=$(mvn -q -DforceStdout help:evaluate -Dexpression=revision -f pom.xml)" >> $GITHUB_ENV

- name: Build or fetch hugegraph-struct
run: |
if [ -f hugegraph-struct/pom.xml ]; then
echo "[INFO] Found hugegraph-struct source, building from source"
mvn -U -ntp -DskipTests -pl hugegraph-struct -am install
else
echo "[INFO] hugegraph-struct source not found, fetching artifact $REVISION"
if [ -z "$REVISION" ]; then echo "[ERROR] revision not resolved"; exit 1; fi
mvn -U -ntp dependency:get -Dartifact=org.apache.hugegraph:hugegraph-struct:$REVISION
fi

pd:
needs: struct
runs-on: ubuntu-latest
env:
# TODO: avoid duplicated env setup in pd & store
Expand All @@ -29,7 +72,7 @@ jobs:
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2
path: ~/.m2/repository
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

Expand All @@ -55,8 +98,9 @@ jobs:
# The above tests do not require starting a PD instance.

- name: Package
# todo remove --fail-at-end after test
run: |
mvn clean package -U -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -ntp
mvn clean package -U -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -ntp --fail-at-end

- name: Prepare env and service
run: |
Expand All @@ -76,7 +120,7 @@ jobs:
file: ${{ env.REPORT_DIR }}/*.xml

store:
# TODO: avoid duplicated env setup
needs: struct
runs-on: ubuntu-latest
env:
USE_STAGE: 'false' # Whether to include the stage repository.
Expand All @@ -94,7 +138,7 @@ jobs:
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2
path: ~/.m2/repository
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

Expand All @@ -110,8 +154,9 @@ jobs:
mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml

- name: Package
# todo remove --fail-at-end after test
run: |
mvn clean package -U -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -ntp
mvn clean package -U -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -ntp --fail-at-end

- name: Prepare env and service
run: |
Expand Down Expand Up @@ -148,7 +193,7 @@ jobs:
file: ${{ env.REPORT_DIR }}/*.xml

hstore:
# TODO: avoid duplicated env setup
needs: struct
runs-on: ubuntu-latest
env:
USE_STAGE: 'false' # Whether to include the stage repository.
Expand All @@ -167,7 +212,7 @@ jobs:
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2
path: ~/.m2/repository
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

Expand All @@ -183,8 +228,9 @@ jobs:
mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml

- name: Package
# todo remove --fail-at-end after test
run: |
mvn clean package -U -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -ntp
mvn clean package -U -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -ntp --fail-at-end

- name: Prepare env and service
run: |
Expand Down
2 changes: 2 additions & 0 deletions .licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ header: # `header` section is configurations for source codes license header.
- 'hugegraph-server/hugegraph-test/src/main/java/org/apache/hugegraph/tinkerpop/StructureBasicSuite.java'
- 'hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java'
- 'hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java'
- 'hugegraph-struct/src/main/java/org/apache/hugegraph/type/define/Cardinality.java'
- 'hugegraph-struct/src/main/java/org/apache/hugegraph/type/Namifiable.java'
comment: on-failure # on what condition license-eye will comment on the pull request, `on-failure`, `always`, `never`.

# license-location-threshold specifies the index threshold where the license header can be located,
Expand Down
2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -216,3 +216,5 @@ hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/type/define/C
hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/util/StringEncoding.java from https://github.com/JanusGraph/janusgraph
hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java from https://github.com/opencypher/cypher-for-gremlin
hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherPlugin.java from https://github.com/opencypher/cypher-for-gremlin
hugegraph-struct/src/main/java/org/apache/hugegraph/type/define/Cardinality.java from https://github.com/JanusGraph/janusgraph
hugegraph-struct/src/main/java/org/apache/hugegraph/type/Namifiable.java from https://github.com/JanusGraph/janusgraph
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
package org.apache.hugegraph.rest;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.Module;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import lombok.SneakyThrows;
import okhttp3.Response;
Expand All @@ -33,6 +35,11 @@ public class RestResult {

private static final ObjectMapper MAPPER = new ObjectMapper();

static {
MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
MAPPER.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"));
}

private final int status;
private final RestHeaders headers;
private final String content;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import java.util.concurrent.ConcurrentHashMap;

import org.apache.hugegraph.date.SafeDateFormat;

import com.google.common.collect.ImmutableMap;

public final class DateUtil {
Expand All @@ -46,7 +47,7 @@ public static Date parse(String value) {
}
}
throw new IllegalArgumentException(String.format(
"Expected date format is: %s, but got '%s'", VALID_DFS.values(), value));
"Expected date format is: %s, but got '%s'", VALID_DFS.values(), value));
}

public static Date parse(String value, String df) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
package org.apache.hugegraph.util;

import java.io.IOException;
import java.text.SimpleDateFormat;

import org.apache.hugegraph.rest.SerializeException;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.Module;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

/**
* Utility class for JSON operations.
Expand All @@ -36,6 +38,11 @@ public final class JsonUtilCommon {
*/
private static final ObjectMapper MAPPER = new ObjectMapper();

static {
MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
MAPPER.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"));
}

/**
* Registers a module with the ObjectMapper.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
animal-sniffer-annotations-1.18.jar
annotations-13.0.jar
annotations-4.1.1.4.jar
bolt-1.6.2.jar
checker-qual-3.5.0.jar
commons-beanutils-1.9.4.jar
commons-codec-1.13.jar
Expand All @@ -10,14 +13,25 @@ commons-lang-2.6.jar
commons-lang3-3.12.0.jar
commons-logging-1.1.1.jar
commons-text-1.9.jar
disruptor-3.3.7.jar
error_prone_annotations-2.3.4.jar
failureaccess-1.0.1.jar
grpc-api-1.28.1.jar
grpc-context-1.28.1.jar
grpc-core-1.28.1.jar
grpc-netty-shaded-1.28.0.jar
grpc-protobuf-1.28.0.jar
grpc-protobuf-lite-1.28.0.jar
grpc-stub-1.28.0.jar
gson-2.8.6.jar
guava-30.0-jre.jar
hamcrest-core-1.3.jar
hessian-3.3.7.jar
j2objc-annotations-1.3.jar
jackson-annotations-2.14.0-rc1.jar
jackson-core-2.14.0-rc1.jar
jackson-databind-2.14.0-rc1.jar
jackson-dataformat-yaml-2.9.3.jar
jackson-jaxrs-base-2.14.0-rc1.jar
jackson-jaxrs-json-provider-2.14.0-rc1.jar
jackson-module-jaxb-annotations-2.14.0-rc1.jar
Expand All @@ -39,7 +53,23 @@ log4j-api-2.18.0.jar
log4j-core-2.18.0.jar
log4j-slf4j-impl-2.18.0.jar
logging-interceptor-4.10.0.jar
lombok-1.18.8.jar
lookout-api-1.4.1.jar
netty-all-4.1.42.Final.jar
okhttp-4.10.0.jar
okio-jvm-3.0.0.jar
opentracing-api-0.22.0.jar
opentracing-mock-0.22.0.jar
opentracing-noop-0.22.0.jar
opentracing-util-0.22.0.jar
perfmark-api-0.19.0.jar
proto-google-common-protos-1.17.0.jar
protobuf-java-3.11.0.jar
slf4j-api-1.7.25.jar
snakeyaml-1.18.jar
sofa-common-tools-1.0.12.jar
sofa-rpc-all-5.7.6.jar
swagger-annotations-1.5.18.jar
swagger-core-1.5.18.jar
swagger-models-1.5.18.jar
tracer-core-3.0.8.jar
validation-api-1.1.0.Final.jar
Loading
Loading