Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions .github/outdated/APACHE_PROPOSAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Although most of the main development of HugeGraph has been completed, there are

#### Meritocracy

HugeGraph was incubated at Baidu in 2016 and open-sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project (including sub-projects) now has 30+ contributors from many companies. Some of these contributors become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PPMC Team and Committer Team. Of course, contributions are welcomed and highly valued. New contributors are guided and reviewed by existing PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of the Committer Team or PMC Team.
HugeGraph was incubated at Baidu in 2016 and open-sourced on [GitHub](https://github.com/apache/hugegraph) in 2018. The project (including sub-projects) now has 30+ contributors from many companies. Some of these contributors become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PPMC Team and Committer Team. Of course, contributions are welcomed and highly valued. New contributors are guided and reviewed by existing PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of the Committer Team or PMC Team.

#### Community

Expand All @@ -52,7 +52,7 @@ HugeGraph implements the API of [Apache TinkerPop](https://tinkerpop.apache.org/

#### Project Name

We have checked and believe the name is [suitable](https://github.com/hugegraph/hugegraph/issues/1646) and the project has legal permission to continue using its current name. There are no other projects found using this name through Google Search.
We have checked and believe the name is [suitable](https://github.com/apache/hugegraph/issues/1646) and the project has legal permission to continue using its current name. There are no other projects found using this name through Google Search.

#### Relationship with Titan/Janus Graph

Expand Down Expand Up @@ -94,10 +94,10 @@ HugeGraph documentation is provided on https://hugegraph.github.io/hugegraph-doc

This project consists of 2 core sub-projects and 2 other sub-projects, all of which are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018. The codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows:

1. The graph database repository `hugegraph`, core sub-project, including graph server, graph engine, and graph storage: https://github.com/hugegraph/hugegraph
2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithms: https://github.com/hugegraph/hugegraph-computer
3. The common functions repository `hugegraph-commons`: https://github.com/hugegraph/hugegraph-commons
4. The ecosystem repository `hugegraph-toolchain`, including `hugegraph-client`, `hugegraph-loader`, `hugegraph-tools`, `hugegraph-hubble`, `hugegraph-test`, `hugegraph-doc`: https://github.com/hugegraph/hugegraph-toolchain
1. The graph database repository `hugegraph`, core sub-project, including graph server, graph engine, and graph storage: https://github.com/apache/hugegraph
2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithms: https://github.com/apache/hugegraph-computer
3. The common functions repository `hugegraph-commons`: https://github.com/apache/hugegraph/tree/master/hugegraph-commons
4. The ecosystem repository `hugegraph-toolchain`, including `hugegraph-client`, `hugegraph-loader`, `hugegraph-tools`, `hugegraph-hubble`, `hugegraph-test`, `hugegraph-doc`: https://github.com/apache/hugegraph-toolchain

### Source and Intellectual Property Submission Plan

Expand All @@ -107,7 +107,7 @@ The code is currently under Apache License Version 2.0, and it was verified ther

As all dependencies are managed by Apache Maven, none of the external libraries need to be packaged in a source distribution. All dependencies have Apache compatible licenses except for 4 dependencies: MySQL Connector (GPL), word (GPL), JBoss Logging 3 (LGPL), and jnr-posix (LGPL+GPL), we will remove these dependencies in the future.

HugeGraph has the following external [dependencies](https://github.com/hugegraph/hugegraph/issues/1632):
HugeGraph has the following external [dependencies](https://github.com/apache/hugegraph/issues/1632):

- Apache License

Expand Down Expand Up @@ -263,26 +263,26 @@ None

- hugegraph-dev: [dev@hugegraph.incubator.apache.org](mailto:dev@hugegraph.incubator.apache.org) for development and users discussions.
- hugegraph-private: [private@hugegraph.incubator.apache.org](mailto:private@hugegraph.incubator.apache.org) for PPMC discussions.
- hugegraph-commits: [commits@hugegraph.incubator.apache.org](mailto:commits@hugegraph.incubator.apache.org) for commits / [pull requests](https://github.com/hugegraph/hugegraph/pulls) and other notifications like code review comments.
- hugegraph-commits: [commits@hugegraph.incubator.apache.org](mailto:commits@hugegraph.incubator.apache.org) for commits / [pull requests](https://github.com/apache/hugegraph/pulls) and other notifications like code review comments.

#### Subversion Directory

None

#### Git Repositories

1. `hugegraph`: https://github.com/hugegraph/hugegraph.git
2. `hugegraph-computer`: https://github.com/hugegraph/hugegraph-computer.git
3. `hugegraph-commons`: https://github.com/hugegraph/hugegraph-commons.git
4. `hugegraph-toolchain`: https://github.com/hugegraph/hugegraph-toolchain.git
1. `hugegraph`: https://github.com/apache/hugegraph.git
2. `hugegraph-computer`: https://github.com/apache/hugegraph-computer.git
3. `hugegraph-commons`: https://github.com/apache/hugegraph.git
4. `hugegraph-toolchain`: https://github.com/apache/hugegraph-toolchain.git

#### Issue Tracking

The community would like to continue using [GitHub Issues](https://github.com/hugegraph/hugegraph/issues) (but will move to github.com/apache/).
The community would like to continue using [GitHub Issues](https://github.com/apache/hugegraph/issues) (but will move to github.com/apache/).

#### Other Resources

- The community has already chosen [GitHub actions](https://github.com/hugegraph/hugegraph/actions) as continuous integration tools.
- The community has already chosen [GitHub actions](https://github.com/apache/hugegraph/actions) as continuous integration tools.
- The community has already used [codecov](https://github.com/marketplace/codecov) to check code coverage.
- The community has already used [mvn repository](https://mvnrepository.com/search?q=hugegraph) as binary package release platform.

Expand Down
4 changes: 2 additions & 2 deletions .github/outdated/cla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jobs:
PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: '.github/cla-signatures/cla.json'
path-to-document: 'https://github.com/hugegraph/hugegraph-doc/blob/master/CLA.md' # e.g. a CLA or a DCO document
custom-allsigned-prcomment: '**Good**! All Contributors have signed the [CLA](https://github.com/hugegraph/hugegraph-doc/blob/master/CLA.md).'
path-to-document: 'https://www.apache.org/licenses/contributor-agreements.html' # e.g. a CLA or a DCO document
custom-allsigned-prcomment: '**Good**! All Contributors have signed the [CLA](https://www.apache.org/licenses/contributor-agreements.html).'
# branch should not be protected
branch: 'cla-assist'
allowlist: bot*
Expand Down
60 changes: 60 additions & 0 deletions .github/scripts/test_ci_policy.py
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,66 @@ def fetch(path):
policy.gate(plan, results)
git("checkout", "-q", "feature")

def test_queued_pr_uses_actual_merge_base_and_rejects_changed_identity(self):
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
def git(*args):
return subprocess.check_output(["git", *args], cwd=root, text=True).strip()
git("init", "-q")
git("config", "user.email", "ci@example.invalid")
git("config", "user.name", "CI")
(root / "README.md").write_text("base")
git("add", ".")
git("commit", "-qm", "event base")
event_base = git("rev-parse", "HEAD")
git("checkout", "-qb", "feature")
(root / "hugegraph-server").mkdir()
(root / "hugegraph-server/A.java").write_text("PR source")
git("add", ".")
git("commit", "-qm", "PR head")
head = git("rev-parse", "HEAD")
event_live = self.live_pr()
event_live["head"]["sha"], event_live["base"]["sha"] = head, event_base
event = {"pull_request": dict(event_live, number=7)}
git("checkout", "--detach", "-q", event_base)
(root / "README.md").write_text("target advanced while run was queued")
git("commit", "-qam", "new target base")
tested_base = git("rev-parse", "HEAD")
git("merge", "--no-ff", "-qm", "current PR merge", "feature")
merge = git("rev-parse", "HEAD")
live = dict(event_live, base=dict(event_live["base"], sha=tested_base))
old = os.getcwd()
try:
os.chdir(root)
os.environ["GITHUB_SHA"] = merge
plan = policy.create_plan("server", event, "apache/server", lambda _: live)
self.assertEqual(tested_base, plan["base"])
self.assertNotEqual(event_base, plan["base"])
self.assertEqual(head, plan["head"])
self.assertEqual(merge, plan["testedMergeSHA"])
self.assertEqual(["hugegraph-server/A.java"], plan["changedPaths"])
self.assertIn("server_memory", plan["expected"])
results = {suite: {"result": "success"} for suite in plan["expected"]}
results["plan"] = {"result": "success"}
self.assertEqual(plan["expected"], policy.gate(plan, results, lambda _: live)["executed"])
changed = dict(live, head=dict(live["head"], sha=tested_base))
with self.assertRaises(policy.StaleInputError):
policy.create_plan("server", event, "apache/server", lambda _: changed)
with self.assertRaises(policy.StaleInputError):
policy.gate(plan, results, lambda _: changed)
wrong_merge = git("commit-tree", git("rev-parse", merge + "^{tree}"),
"-p", tested_base, "-p", event_base, "-m", "wrong PR head")
unrelated_base = git("commit-tree", git("rev-parse", tested_base + "^{tree}"),
"-m", "unrelated target history")
unrelated_merge = git("commit-tree", git("rev-parse", merge + "^{tree}"),
"-p", unrelated_base, "-p", head, "-m", "unrelated target merge")
for checkout in [wrong_merge, head, unrelated_merge]:
git("checkout", "--detach", "-q", checkout)
with self.subTest(checkout=checkout), self.assertRaises(policy.StaleInputError):
policy.create_plan("server", event, "apache/server", lambda _: live)
finally:
os.chdir(old)

def test_pure_docs_pr_and_metadata_fail_closed(self):
live = self.live_pr()
event = {"pull_request": dict(live, number=7)}
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/pd-store-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ jobs:
done
echo "can_run=true" >> "$GITHUB_OUTPUT"

- name: Check explicit Topling launcher selection
run: |
bash $TRAVIS_DIR/test-topling-selection.sh
bash hugegraph-store/hg-store-dist/src/assembly/travis/test-store-preloads.sh

- name: Run PD docker entrypoint secret override tests
run: |
$TRAVIS_DIR/test-pd-docker-entrypoint.sh
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ HugeGraph supports both **standalone** and **distributed** deployments:

See the [backend evolution guide](hugegraph-server/README.md#backend-evolution-and-compatibility) for lifecycle and historical compatibility guidance.

To use ToplingDB with the RocksDB backend, follow the [three-step switching guide](docs/toplingdb.md).

### Deployment Mode Comparison

| Mode | Components | Use Case | Data Scale | High Availability |
Expand Down Expand Up @@ -315,6 +317,7 @@ gremlin> :> g.V().limit(5)

For comprehensive documentation, visit the [HugeGraph Documentation](https://hugegraph.apache.org/docs/).


For an existing deployment, read the [RocksDB upgrade guidance](docs/rocksdb-upgrade.md) before upgrading the storage runtime.

</details>
Expand Down
Binary file added docs/images/switch-rocksdb-to-toplingdb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading