diff --git a/.github/workflows/auto-pr-review.yml b/.github/workflows/auto-pr-review.yml new file mode 100644 index 000000000..6a585355f --- /dev/null +++ b/.github/workflows/auto-pr-review.yml @@ -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 diff --git a/config.toml b/config.toml index b56a4f9f3..6ab8a3499 100644 --- a/config.toml +++ b/config.toml @@ -35,11 +35,11 @@ enable = true pre = "" url = "/docs/" [[menu.main]] - name = "Blog" - weight = 100 - hidden = true - #pre = "" - #url = "https://blog.kubeflow.org/" + name = "Blog Posts" + weight = -100 + hidden = false + pre = "" + url = "/blog/" [[menu.main]] name = "GitHub" weight = -99 diff --git a/content/cn/blog/_index.md b/content/cn/blog/_index.md index 43820eb17..82d54cf56 100644 --- a/content/cn/blog/_index.md +++ b/content/cn/blog/_index.md @@ -1,13 +1,17 @@ --- -title: "Docsy Blog" +title: "Blog" linkTitle: "Blog" menu: main: weight: 30 --- +欢迎阅读 HugeGraph 博客! -This is the **blog** section. It has two categories: News and Releases. +这里汇集了 HugeGraph 生态的技术文章、最佳实践和社区动态: -Files in these directories will be listed in reverse chronological order. +- **HugeGraph (OLTP)**: 图数据库核心功能、性能优化、存储引擎等 +- **HugeGraph-AI**: AI 与图计算结合的应用案例 +- **HugeGraph Computing (OLAP)**: 大规模图计算和分析实践 +探索更多内容,提升您的图数据库使用体验! diff --git a/content/cn/blog/computing/_index.md b/content/cn/blog/computing/_index.md new file mode 100644 index 000000000..068e1956c --- /dev/null +++ b/content/cn/blog/computing/_index.md @@ -0,0 +1,5 @@ +--- +title: "HugeGraph Computing (OLAP)" +linkTitle: "HugeGraph Computing (OLAP)" +weight: 4 +--- diff --git a/content/cn/blog/hugegraph-ai/_index.md b/content/cn/blog/hugegraph-ai/_index.md new file mode 100644 index 000000000..4653a3685 --- /dev/null +++ b/content/cn/blog/hugegraph-ai/_index.md @@ -0,0 +1,5 @@ +--- +title: "HugeGraph-AI" +linkTitle: "HugeGraph-AI" +weight: 3 +--- diff --git a/content/cn/blog/hugegraph/_index.md b/content/cn/blog/hugegraph/_index.md new file mode 100644 index 000000000..8d57d3f7b --- /dev/null +++ b/content/cn/blog/hugegraph/_index.md @@ -0,0 +1,5 @@ +--- +title: "HugeGraph (OLTP)" +linkTitle: "HugeGraph (OLTP)" +weight: 1 +--- diff --git a/content/cn/blog/hugegraph/toplingdb/_index.md b/content/cn/blog/hugegraph/toplingdb/_index.md new file mode 100644 index 000000000..5adcbf96f --- /dev/null +++ b/content/cn/blog/hugegraph/toplingdb/_index.md @@ -0,0 +1,5 @@ +--- +title: "ToplingDB" +linkTitle: "ToplingDB" +weight: 1 +--- diff --git a/content/cn/blog/hugegraph/toplingdb/toplingdb-configuration-yaml.md b/content/cn/blog/hugegraph/toplingdb/toplingdb-configuration-yaml.md new file mode 100644 index 000000000..33561ec42 --- /dev/null +++ b/content/cn/blog/hugegraph/toplingdb/toplingdb-configuration-yaml.md @@ -0,0 +1,280 @@ +--- +date: 2025-09-30 +title: "ToplingDB YAML configuration file" +linkTitle: "ToplingDB的YAML配置文件" +--- + +RocksDB 提供了丰富的参数配置,但大多数情况下,这些配置需要通过硬编码完成。 + +[ToplingDB](https://github.com/topling/toplingdb) 在此基础上引入了 **SidePlugin + YAML** 的方式,使得配置更加模块化和可组合。 + +本文重点介绍 **ToplingDB 扩展参数** 的部分,帮助读者理解这些配置的意义。 + +## 术语说明 + +- **MemTable**: LSM-Tree 在内存中的可写数据结构,接收新写入的数据 +- **SST (Sorted String Table)**: Memtable 持久化到磁盘后生成的有序键值对文件 +- **Flush**: 将 MemTable 数据写入磁盘生成 SST 的过程 +- **Compaction**: 合并多个 SST 文件以优化存储和查询性能的过程 +- **L0, L1, ... L6**: LSM-Tree 的不同层级,数字越大层级越深 + +## 0. HugeGraph 中提供的rocksdb_plus.yaml + +下文只包括HugeGraph中所使用的配置参数,ToplingDB支持的完整配置请参考:[SidePlugin Wiki](https://github.com/topling/sideplugin-wiki-en/wiki) + +```yaml +http: # Web Server 相关配置 + # normally parent path of db path + document_root: /dev/shm/rocksdb_resource # 静态资源目录, HugeGraph中通过`preload_topling.sh`进行静态资源提取 + listening_ports: '127.0.0.1:2011' # Web Server监听端口,用于管理/监控 如端口被占用,请改为其他端口,例如 2012 或 2013 +setenv: # 环境变量设置 + StrSimpleEnvNameNotOverwrite: StringValue + IntSimpleEnvNameNotOverwrite: 16384 + OverwriteThisEnv: + #comment: overwrite is default to false + overwrite: true + value: force overwrite this env by overwrite true +Cache: # Cache 相关配置 + lru_cache: # 定义一个 LRU 缓存实例 + class: LRUCache + params: + capacity: 8G # 缓存容量 8GB + num_shard_bits: -1 # 分片数量,-1 表示自动 + strict_capacity_limit: false + high_pri_pool_ratio: 0.5 + use_adaptive_mutex: false + metadata_charge_policy: kFullChargeCacheMetadata # 元数据也计入缓存容量 +Statistics: # 数据采样配置 + stat: + class: default + params: + discard_tickers: # 丢弃的统计计数器,减少开销 + - rocksdb.block.cache + - rocksdb.block.cachecompressed + - rocksdb.block + - rocksdb.memtable.payload.bytes.at.flush + - rocksdb.memtable.garbage.bytes.at.flush + - rocksdb.txn + - rocksdb.blobdb + - rocksdb.row.cache + - rocksdb.number.block + - rocksdb.bloom.filter + - rocksdb.persistent + - rocksdb.sim.block.cache + discard_histograms: # 丢弃的直方图统计项 + # comment: .... + - rocksdb.blobdb + - rocksdb.bytes.compressed + - rocksdb.bytes.decompressed + - rocksdb.num.index.and.filter.blocks.read.per.level + - rocksdb.num.data.blocks.read.per.level + - rocksdb.compression.times.nanos + - rocksdb.decompression.times.nanos + - rocksdb.read.block.get.micros + - rocksdb.write.raw.block.micros + # comment end of array + #stats_level: kAll + stats_level: kDisableAll # 禁用所有统计 +MemTableRepFactory: # 内存中 memtable 的实现 + cspp: # ToplingDB 独有的高并发内存结构 + class: cspp + params: + mem_cap: 16G # 预分配足够的单块内存地址空间,这些内存可以只是保留地址空间,但并未实际分配 对物理内存并无要求,只是为CSPP保留虚拟内存空间 + use_vm: false + token_use_idle: true + chunk_size: 16K # 内部分配粒度 + convert_to_sst: kFileMmap # 直接将 MemTable 转化为 SST,省去 Flush,可选值:{kDontConvert, kDumpMem, kFileMmap} + sync_sst_file: false # convert_to_sst 为 kFileMmap 时,SST 转化完成后是否执行 fsync + skiplist: # RocksDB 默认的跳表结构 + class: SkipList + params: + lookahead: 0 +TableFactory: + cspp_memtab_sst: + class: CSPPMemTabTable # 与 cspp 配套的 TableFactory + params: # empty params + bb: + class: BlockBasedTable # RocksDB 默认的块表 + params: + checksum: kCRC32c + block_size: 4K + block_restart_interval: 16 + index_block_restart_interval: 1 + metadata_block_size: 4K + enable_index_compression: true + block_cache: "${lru_cache}" # 使用上面定义的 LRU 缓存 + block_cache_compressed: + persistent_cache: + filter_policy: + dispatch: + class: DispatcherTable + params: + default: bb # 默认使用 BlockBasedTable + readers: + BlockBasedTable: bb + CSPPMemTabTable: cspp_memtab_sst + level_writers: [ bb, bb, bb, bb, bb, bb ] # 支持自定义各层写入策略 +CFOptions: + default: + max_write_buffer_number: 6 + memtable_factory: "${cspp}" # 引用上方定义的cspp,使用 cspp 作为 MemTable + write_buffer_size: 128M + # set target_file_size_base as small as 512K is to make many SST files, + # thus key prefix cache can present efficiency + target_file_size_base: 64M + target_file_size_multiplier: 1 + table_factory: dispatch # 引用上方定义的 dispatch, 使用 DispatcherTable Class + max_bytes_for_level_base: 512M + max_bytes_for_level_multiplier: 10 + level_compaction_dynamic_level_bytes: false + level0_slowdown_writes_trigger: 20 + level0_stop_writes_trigger: 36 + level0_file_num_compaction_trigger: 2 + merge_operator: uint64add # support merge + level_compaction_dynamic_file_size: true + optimize_filters_for_hits: true + allow_merge_memtables: true + min_write_buffer_number_to_merge: 2 + compression_per_level: + - kNoCompression + - kNoCompression + - kSnappyCompression + - kSnappyCompression + - kSnappyCompression + - kSnappyCompression + - kSnappyCompression +DBOptions: + dbo: + create_if_missing: true + create_missing_column_families: false # this is important, must be false to hugegraph + max_background_compactions: -1 + max_subcompactions: 4 + max_level1_subcompactions: 0 + inplace_update_support: false + WAL_size_limit_MB: 0 + statistics: "${stat}" # 使用上面定义的统计配置 + max_manifest_file_size: 100M + max_background_jobs: 8 # 设置flush和compaction线程总数 建议设置为 (cpu核数 / 2) + compaction_readahead_size: 0 + memtable_as_log_index: true # 此配置结合 convert_to_sst: kFileMmap 可实现[omit L0 Flush](https://github.com/topling/toplingdb/wiki/Omit-L0-Flush) + +``` + +**关键要点**: + +- `listening_ports: '127.0.0.1:2011'` 指定Web Server监听端口为2011,并且仅允许本地访问 +- `memtable_as_log_index: true` 与 `convert_to_sst: kFileMmap` 结合实现[omit L0 Flush](https://github.com/topling/toplingdb/wiki/Omit-L0-Flush) +- `memtable_factory: "${cspp}"` 指定了内存结构采用`CSPP Memtable` +- `table_factory: dispatch` 指定了TableFactory使用YAML中自定义的`DispatcherTable`结构 + +## 1. 插件化配置与引用机制 + +- **YAML 插件化**:配置文件以对象形式组织,每个对象可以单独定义并在其他地方引用。 +- **引用语法**:通过 `${lru_cache}`、`${cspp}` 等方式在不同段落复用对象。 +- **DispatcherTable**:允许在不同层级或场景下选择不同的 TableFactory。RocksDB 原生只能指定单一 TableFactory。 + +ToplingDB YAML 引用与复用图示: + +
+
+Topling Inc.This is Engine Inspector, for metrics, see Grafana!
+``` + +### 方式二: 检查日志中的 ToplingDB 初始化信息 + +```bash +tail -f logs/hugegraph-server.log | grep -i topling +``` + +类似输出说明存储引擎启动为ToplingDB: + +```java +2025-10-14 08:56:25 [db-open-1] [INFO] o.a.h.b.s.r.RocksDBStdSessions - SidePluginRepo found. Will attempt to open multi CFs RocksDB using Topling plugin. +2025-10-14 08:56:25 [db-open-1] [INFO] o.a.h.b.s.r.RocksDBStdSessions - Topling HTTP Server has been started according to the listening_ports specified in ./conf/graphs/rocksdb_plus.yaml +``` + +## 常见问题排查 + +### 问题 1: 启动失败,提示 YAML 格式错误 + +启动时有类似日志: + +```java +2025-10-15 01:55:50 [db-open-1] [INFO] o.a.h.b.s.r.RocksDBStdSessions - SidePluginRepo found. Will attempt to open multi CFs RocksDB using Topling plugin. +21:1: (891B):ERROR: +sideplugin/rockside/3rdparty/rapidyaml/src/c4/yml/parse.cpp:3310: ERROR parsing yml: parse error: incorrect indentation? +``` + +**解决方案**: + +1. 检查 YAML 文件缩进是否正确(必须使用空格,不能使用 Tab) +2. 验证 YAML 语法: `python -c "import yaml; yaml.safe_load(open('conf/graphs/rocksdb_plus.yaml'))"` +3. 检查日志中的具体错误信息 + +### 问题 2: Web Server 端口冲突 + +启动时有类似日志: + +```java +2025-10-15 01:57:34 [db-open-1] [INFO] o.a.h.b.s.r.RocksDBStdSessions - SidePluginRepo found. Will attempt to open multi CFs RocksDB using Topling plugin. +2025-10-15 01:57:34 [db-open-1] [ERROR] o.a.h.b.s.r.RocksDBStore - Failed to open RocksDB 'rocksdb-data/data/g' +org.rocksdb.RocksDBException: rocksdb::Status rocksdb::SidePluginRepo::StartHttpServer(): null context when constructing CivetServer. Possible problem binding to port. + at org.rocksdb.SidePluginRepo.startHttpServer(Native Method) ~[rocksdbjni-8.10.2-20250804.074027-4.jar:?] +``` + +**解决方案**: + +1. 检查端口是否被占用: `lsof -i :2011` +2. 修改 YAML 文件中的 `listening_ports` 配置 +3. 重启 HugeGraph Server + +### 问题 3: 初始化数据库失败 + +类似输出说明无法获取数据库锁,可能缺乏写权限,也可能是被数据库被另外一个进程锁定: + +```java +Caused by: org.rocksdb.RocksDBException: While lock file: rocksdb-data/data/m/LOCK: Resource temporarily unavailable + at org.rocksdb.SidePluginRepo.nativeOpenDBMultiCF(Native Method) + at org.rocksdb.SidePluginRepo.openDB(SidePluginRepo.java:22) +``` + +**解决方案**: + +1. 确认配置文件路径正确: `rocksdb.option_path=./conf/graphs/rocksdb_plus.yaml` +2. 检查数据目录权限: 确保运行用户有读写权限 +3. 查看详细日志: `bin/init-store.sh 2>&1 | tee init.log` + +## 相关文档 + +- [ToplingDB YAML 配置详解](/cn/blog/2025/09/30/toplingdb-yaml-configuration-file/) - 了解配置文件中各参数的含义 +- [HugeGraph 配置说明](/docs/config/config-option/) - HugeGraph 核心配置参考 +- [ToplingDB GitHub 仓库](https://github.com/topling/toplingdb) - 官方文档和最新更新 diff --git a/content/cn/blog/images/images-server/toplingdb-web-server.png b/content/cn/blog/images/images-server/toplingdb-web-server.png new file mode 100644 index 000000000..aa475ff32 Binary files /dev/null and b/content/cn/blog/images/images-server/toplingdb-web-server.png differ diff --git a/content/cn/blog/images/images-server/toplingdb-yaml-ref.png b/content/cn/blog/images/images-server/toplingdb-yaml-ref.png new file mode 100644 index 000000000..07476def6 Binary files /dev/null and b/content/cn/blog/images/images-server/toplingdb-yaml-ref.png differ diff --git a/content/cn/blog/news/_index.md b/content/cn/blog/news/_index.md deleted file mode 100644 index 13d25eaa4..000000000 --- a/content/cn/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News About Docsy" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/cn/blog/news/first-post/featured-sunset-get.png b/content/cn/blog/news/first-post/featured-sunset-get.png deleted file mode 100644 index db3373c0b..000000000 Binary files a/content/cn/blog/news/first-post/featured-sunset-get.png and /dev/null differ diff --git a/content/cn/blog/news/first-post/index.md b/content/cn/blog/news/first-post/index.md deleted file mode 100644 index b6bfb4772..000000000 --- a/content/cn/blog/news/first-post/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -date: 2018-10-06 -title: "Easy documentation with Docsy" -linkTitle: "Announcing Docsy" -description: "The Docsy Hugo theme lets project maintainers and contributors focus on content, not on reinventing a website infrastructure from scratch" -author: Riona MacNamara ([@rionam](https://twitter.com/bepsays)) -resources: -- src: "**.{png,jpg}" - title: "Image #:counter" - params: - byline: "Photo: Riona MacNamara / CC-BY-CA" ---- - -**This is a typical blog post that includes images.** - -The front matter specifies the date of the blog post, its title, a short description that will be displayed on the blog landing page, and its author. - -## Including images - -Here's an image (`featured-sunset-get.png`) that includes a byline and a caption. - -{{< imgproc sunset Fill "600x300" >}} -Fetch and scale an image in the upcoming Hugo 0.43. -{{< /imgproc >}} - -The front matter of this post specifies properties to be assigned to all image resources: - -``` -resources: -- src: "**.{png,jpg}" - title: "Image #:counter" - params: - byline: "Photo: Riona MacNamara / CC-BY-CA" -``` - -To include the image in a page, specify its details like this: - -``` -{{< imgproc sunset Fill "600x300" >}} -Fetch and scale an image in the upcoming Hugo 0.43. -{{< /imgproc >}} -``` - -The image will be rendered at the size and byline specified in the front matter. - - diff --git a/content/cn/blog/news/second-post.md b/content/cn/blog/news/second-post.md deleted file mode 100755 index 0ef58d7de..000000000 --- a/content/cn/blog/news/second-post.md +++ /dev/null @@ -1,245 +0,0 @@ - ---- -title: "The second blog post" -linkTitle: "Second blog post" -date: 2018-10-06 -description: > - A short lead description about this content page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. ---- - -Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over). - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -> There should be no margin above this first sentence. -> -> Blockquotes should be a lighter gray with a border along the left side in the secondary color. -> -> There should be no margin below this final sentence. - -## First Header - -This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width. - -Lorem markdownum tuta hospes stabat; idem saxum facit quaterque repetito -occumbere, oves novem gestit haerebat frena; qui. Respicit recurvam erat: -pignora hinc reppulit nos **aut**, aptos, ipsa. - -Meae optatos *passa est* Epiros utiliter *Talibus niveis*, hoc lata, edidit. -Dixi ad aestum. - -## Header 2 - -> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Header 3 - -``` -This is a code block following a header. -``` - -#### Header 4 - -* This is an unordered list following a header. -* This is an unordered list following a header. -* This is an unordered list following a header. - -##### Header 5 - -1. This is an ordered list following a header. -2. This is an ordered list following a header. -3. This is an ordered list following a header. - -###### Header 6 - -| What | Follows | -|-----------|-----------------| -| A table | A header | -| A table | A header | -| A table | A header | - ----------------- - -There's a horizontal rule above and below this. - ----------------- - -Here is an unordered list: - -* Salt-n-Pepa -* Bel Biv DeVoe -* Kid 'N Play - -And an ordered list: - -1. Michael Jackson -2. Michael Bolton -3. Michael Bublé - -And an unordered task list: - -- [x] Create a sample markdown document -- [x] Add task lists to it -- [ ] Take a vacation - -And a "mixed" task list: - -- [ ] Steal underpants -- ? -- [ ] Profit! - -And a nested list: - -* Jackson 5 - * Michael - * Tito - * Jackie - * Marlon - * Jermaine -* TMNT - * Leonardo - * Michelangelo - * Donatello - * Raphael - -Definition lists can be used with Markdown syntax. Definition terms are bold. - -Name -: Godzilla - -Born -: 1952 - -Birthplace -: Japan - -Color -: Green - - ----------------- - -Tables should have bold headings and alternating shaded rows. - -| Artist | Album | Year | -|-------------------|-----------------|------| -| Michael Jackson | Thriller | 1982 | -| Prince | Purple Rain | 1984 | -| Beastie Boys | License to Ill | 1986 | - -If a table is too wide, it should scroll horizontally. - -| Artist | Album | Year | Label | Awards | Songs | -|-------------------|-----------------|------|-------------|----------|-----------| -| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life | -| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain | -| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill | - ----------------- - -Code snippets like `var foo = "bar";` can be shown inline. - -Also, `this should vertically align` ~~`with this`~~ ~~and this~~. - -Code can also be shown in a block element. - -``` -foo := "bar"; -bar := "foo"; -``` - -Code can also use syntax highlighting. - -```go -func main() { - input := `var foo = "bar";` - - lexer := lexers.Get("javascript") - iterator, _ := lexer.Tokenise(nil, input) - style := styles.Get("github") - formatter := html.New(html.WithLineNumbers()) - - var buff bytes.Buffer - formatter.Format(&buff, style, iterator) - - fmt.Println(buff.String()) -} -``` - -``` -Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. -``` - -Inline code inside table cells should still be distinguishable. - -| Language | Code | -|-------------|--------------------| -| Javascript | `var foo = "bar";` | -| Ruby | `foo = "bar"{` | - ----------------- - -Small images should be shown at their actual size. - - - -Large images should always scale down and fit in the content container. - - - -## Components - -### Alerts - -{{< alert >}}This is an alert.{{< /alert >}} -{{< alert title="Note:" >}}This is an alert with a title.{{< /alert >}} -{{< alert type="success" >}}This is a successful alert.{{< /alert >}} -{{< alert type="warning" >}}This is a warning!{{< /alert >}} -{{< alert type="warning" title="Warning!" >}}This is a warning with a title!{{< /alert >}} - - -## Sizing - -Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Parameters available - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using pixels - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using rem - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -## Memory - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### RAM to use - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### More is better - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Used RAM - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -``` -This is the final element on the page and there should be no margin below this. -``` diff --git a/content/cn/blog/releases/_index.md b/content/cn/blog/releases/_index.md deleted file mode 100644 index b1d9eb4ff..000000000 --- a/content/cn/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "New Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/cn/blog/releases/in-depth-monoliths-detailed-spec.md b/content/cn/blog/releases/in-depth-monoliths-detailed-spec.md deleted file mode 100755 index ba8bd5222..000000000 --- a/content/cn/blog/releases/in-depth-monoliths-detailed-spec.md +++ /dev/null @@ -1,245 +0,0 @@ - ---- -title: "Another Great Release" -linkTitle: "Release New Features" -date: 2018-01-04 -description: > - A short lead description about this content page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. ---- - -Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over). - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -> There should be no margin above this first sentence. -> -> Blockquotes should be a lighter gray with a border along the left side in the secondary color. -> -> There should be no margin below this final sentence. - -## First Header - -This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width. - -Lorem markdownum tuta hospes stabat; idem saxum facit quaterque repetito -occumbere, oves novem gestit haerebat frena; qui. Respicit recurvam erat: -pignora hinc reppulit nos **aut**, aptos, ipsa. - -Meae optatos *passa est* Epiros utiliter *Talibus niveis*, hoc lata, edidit. -Dixi ad aestum. - -## Header 2 - -> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Header 3 - -``` -This is a code block following a header. -``` - -#### Header 4 - -* This is an unordered list following a header. -* This is an unordered list following a header. -* This is an unordered list following a header. - -##### Header 5 - -1. This is an ordered list following a header. -2. This is an ordered list following a header. -3. This is an ordered list following a header. - -###### Header 6 - -| What | Follows | -|-----------|-----------------| -| A table | A header | -| A table | A header | -| A table | A header | - ----------------- - -There's a horizontal rule above and below this. - ----------------- - -Here is an unordered list: - -* Salt-n-Pepa -* Bel Biv DeVoe -* Kid 'N Play - -And an ordered list: - -1. Michael Jackson -2. Michael Bolton -3. Michael Bublé - -And an unordered task list: - -- [x] Create a sample markdown document -- [x] Add task lists to it -- [ ] Take a vacation - -And a "mixed" task list: - -- [ ] Steal underpants -- ? -- [ ] Profit! - -And a nested list: - -* Jackson 5 - * Michael - * Tito - * Jackie - * Marlon - * Jermaine -* TMNT - * Leonardo - * Michelangelo - * Donatello - * Raphael - -Definition lists can be used with Markdown syntax. Definition terms are bold. - -Name -: Godzilla - -Born -: 1952 - -Birthplace -: Japan - -Color -: Green - - ----------------- - -Tables should have bold headings and alternating shaded rows. - -| Artist | Album | Year | -|-------------------|-----------------|------| -| Michael Jackson | Thriller | 1982 | -| Prince | Purple Rain | 1984 | -| Beastie Boys | License to Ill | 1986 | - -If a table is too wide, it should scroll horizontally. - -| Artist | Album | Year | Label | Awards | Songs | -|-------------------|-----------------|------|-------------|----------|-----------| -| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life | -| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain | -| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill | - ----------------- - -Code snippets like `var foo = "bar";` can be shown inline. - -Also, `this should vertically align` ~~`with this`~~ ~~and this~~. - -Code can also be shown in a block element. - -``` -foo := "bar"; -bar := "foo"; -``` - -Code can also use syntax highlighting. - -```go -func main() { - input := `var foo = "bar";` - - lexer := lexers.Get("javascript") - iterator, _ := lexer.Tokenise(nil, input) - style := styles.Get("github") - formatter := html.New(html.WithLineNumbers()) - - var buff bytes.Buffer - formatter.Format(&buff, style, iterator) - - fmt.Println(buff.String()) -} -``` - -``` -Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. -``` - -Inline code inside table cells should still be distinguishable. - -| Language | Code | -|-------------|--------------------| -| Javascript | `var foo = "bar";` | -| Ruby | `foo = "bar"{` | - ----------------- - -Small images should be shown at their actual size. - - - -Large images should always scale down and fit in the content container. - - - -## Components - -### Alerts - -{{< alert >}}This is an alert.{{< /alert >}} -{{< alert title="Note:" >}}This is an alert with a title.{{< /alert >}} -{{< alert type="success" >}}This is a successful alert.{{< /alert >}} -{{< alert type="warning" >}}This is a warning!{{< /alert >}} -{{< alert type="warning" title="Warning!" >}}This is a warning with a title!{{< /alert >}} - - -## Sizing - -Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Parameters available - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using pixels - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using rem - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -## Memory - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### RAM to use - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### More is better - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Used RAM - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -``` -This is the final element on the page and there should be no margin below this. -``` diff --git a/content/cn/blog/toolchain/_index.md b/content/cn/blog/toolchain/_index.md new file mode 100644 index 000000000..f00f7ed12 --- /dev/null +++ b/content/cn/blog/toolchain/_index.md @@ -0,0 +1,5 @@ +--- +title: "HugeGraph ToolChain" +linkTitle: "HugeGraph 工具链" +weight: 2 +--- diff --git a/content/cn/docs/config/config-option.md b/content/cn/docs/config/config-option.md index ae0f561b6..274dec6de 100644 --- a/content/cn/docs/config/config-option.md +++ b/content/cn/docs/config/config-option.md @@ -61,7 +61,7 @@ weight: 2 | config option | default value | description | |---------------------------------------|----------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| gremlin.graph | org.apache.hugegraph.HugeFactory | Gremlin entrance to create graph. | +| gremlin.graph | org.apache.hugegraph.HugeFactory | Gremlin entrance to create graph. | | backend | rocksdb | The data store type, available values are [memory, rocksdb, cassandra, scylladb, hbase, mysql]. | | serializer | binary | The serializer for backend store, available values are [text, binary, cassandra, hbase, mysql]. | | store | hugegraph | The database name like Cassandra Keyspace. | @@ -69,7 +69,7 @@ weight: 2 | store.graph | g | The graph table name, which store vertex, edge and property. | | store.schema | m | The schema table name, which store meta data. | | store.system | s | The system table name, which store system data. | -| schema.illegal_name_regex | .*\s+$|~.* | The regex specified the illegal format for schema name. | +| schema.illegal_name_regex | .*\s+$|~.* | The regex specified the illegal format for schema name. | | schema.cache_capacity | 10000 | The max cache size(items) of schema cache. | | vertex.cache_type | l2 | The type of vertex cache, allowed values are [l1, l2]. | | vertex.cache_capacity | 10000000 | The max cache size(items) of vertex cache. | @@ -185,6 +185,8 @@ weight: 2 | rocksdb.data_disks | [] | The optimized disks for storing data of RocksDB. The format of each element: `STORE/TABLE: /path/disk`.Allowed keys are [g/vertex, g/edge_out, g/edge_in, g/vertex_label_index, g/edge_label_index, g/range_int_index, g/range_float_index, g/range_long_index, g/range_double_index, g/secondary_index, g/search_index, g/shard_index, g/unique_index, g/olap] | | rocksdb.data_path | rocksdb-data/data | The path for storing data of RocksDB. | | rocksdb.wal_path | rocksdb-data/wal | The path for storing WAL of RocksDB. | +| rocksdb.option_path | | The YAML file for configuring ToplingDB/RocksDB parameters. | +| rocksdb.open_http | false | Whether to start ToplingDB HTTP service. Security: enable only in trusted networks and restrict access (firewall/ACL); the port and document_root are configured in the YAML (http.listening_ports/document_root). | | rocksdb.allow_mmap_reads | false | Allow the OS to mmap file for reading sst tables. | | rocksdb.allow_mmap_writes | false | Allow the OS to mmap file for writing. | | rocksdb.block_cache_capacity | 8388608 | The amount of block cache in bytes that will be used by RocksDB, 0 means no block cache. | diff --git a/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md b/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md index 74c3e424e..502350ca8 100644 --- a/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md +++ b/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md @@ -35,6 +35,8 @@ cp -r hugegraph-dist/src/assembly/static/scripts hugegraph-dist/src/assembly/sta 将 `path-to-your-directory` 替换为你创建的文件夹的路径。 +> 在引入 ToplingDB 后,开发者需执行 `preload-topling.sh` 脚本,该脚本会将相关动态库和 Web Server 所需的静态资源自动解压至与 `bin` 同级的 `library` 目录中 (静态资源会同时拷贝到 `/dev/shm/rocksdb_resource` 中)。 + #### 2. `InitStore` 类初始化图 首先,需要在配置文件中配置数据库后端。以 RocksDB 为例,在 `path-to-your-directory/conf/graphs/hugegraph.properties` 文件中进行以下配置: @@ -51,6 +53,9 @@ rocksdb.wal_path=. - 在 `Use classpath of module` 中选择 `hugegraph-dist` - 将 `Main class` 设置为 `org.apache.hugegraph.cmd.InitStore` - 设置运行参数为 `conf/rest-server.properties`,这里的路径是相对于工作路径的,需要将工作路径设置为 `path-to-your-directory` +- (可选) ToplingDB 需要通过 `LD_PRELOAD` 机制预加载动态库,开发者需设置两个环境变量:`LD_LIBRARY_PATH` 指向 `preload-topling.sh` 解压出的 `library` 目录,`LD_PRELOAD` 设置为 `libjemalloc.so:librocksdbjni-linux64.so`,以确保相关库在运行时被正确加载 + - LD_LIBRARY_PATH=/path/to/your/library:$LD_LIBRARY_PATH + - LD_PRELOAD=libjemalloc.so:librocksdbjni-linux64.so > 若在 **Java 11** 环境下为 HugeGraph-Server 配置了**用户认证** (authenticator),需要参考二进制包的脚本[配置](https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-dist/src/assembly/static/bin/init-store.sh#L52),添加下述 **VM options**: > diff --git a/content/cn/docs/quickstart/hugegraph/hugegraph-server.md b/content/cn/docs/quickstart/hugegraph/hugegraph-server.md index 4a1b287f1..d4e80d8fc 100644 --- a/content/cn/docs/quickstart/hugegraph/hugegraph-server.md +++ b/content/cn/docs/quickstart/hugegraph/hugegraph-server.md @@ -44,7 +44,7 @@ Core 模块是 Tinkerpop 接口的实现,Backend 模块用于管理数据存 可选项: 1. 可以使用 `docker exec -it server bash` 进入容器完成一些操作 -2. 可以使用 `docker run -itd --name=server -p 8080:8080 -e PRELOAD="true" hugegraph/hugegraph:1.5.0` 在启动的时候预加载一个**内置的**样例图。可以通过 `RESTful API` 进行验证。具体步骤可以参考 [5.1.1](/cn/docs/quickstart/hugegraph-server/#511-%E5%90%AF%E5%8A%A8-server-%E7%9A%84%E6%97%B6%E5%80%99%E5%88%9B%E5%BB%BA%E7%A4%BA%E4%BE%8B%E5%9B%BE) +2. 可以使用 `docker run -itd --name=server -p 8080:8080 -e PRELOAD="true" hugegraph/hugegraph:1.5.0` 在启动的时候预加载一个**内置的**样例图。可以通过 `RESTful API` 进行验证。具体步骤可以参考 [5.1.9](#519-%E5%90%AF%E5%8A%A8-server-%E7%9A%84%E6%97%B6%E5%80%99%E5%88%9B%E5%BB%BA%E7%A4%BA%E4%BE%8B%E5%9B%BE) 3. 可以使用 `-e PASSWORD=xxx` 设置是否开启鉴权模式以及 admin 的密码,具体步骤可以参考 [Config Authentication](/cn/docs/config/config-authentication#使用-docker-时开启鉴权模式) 如果使用 docker desktop,则可以按照如下的方式设置可选项: @@ -274,7 +274,7 @@ bin/stop-hugegraph.sh ``` -##### 5.1.2 RocksDB +##### 5.1.2 RocksDB / ToplingDB
+
+Topling Inc.This is Engine Inspector, for metrics, see Grafana!
+``` + +### Method 2: Check ToplingDB Initialization Info in Logs + +```bash +tail -f logs/hugegraph-server.log | grep -i topling +``` + +Similar output indicates ToplingDB is the storage engine: + +```java +2025-10-14 08:56:25 [db-open-1] [INFO] o.a.h.b.s.r.RocksDBStdSessions - SidePluginRepo found. Will attempt to open multi CFs RocksDB using Topling plugin. +2025-10-14 08:56:25 [db-open-1] [INFO] o.a.h.b.s.r.RocksDBStdSessions - Topling HTTP Server has been started according to the listening_ports specified in ./conf/graphs/rocksdb_plus.yaml +``` + +## Common Troubleshooting + +### Issue 1: Startup Failure Due to YAML Format Error + +Sample log during startup: + +```java +2025-10-15 01:55:50 [db-open-1] [INFO] o.a.h.b.s.r.RocksDBStdSessions - SidePluginRepo found. Will attempt to open multi CFs RocksDB using Topling plugin. +21:1: (891B):ERROR: +sideplugin/rockside/3rdparty/rapidyaml/src/c4/yml/parse.cpp:3310: ERROR parsing yml: parse error: incorrect indentation? +``` + +**Solutions**: + +1. Check YAML indentation (must use spaces, not tabs) +2. Validate YAML syntax: `python -c "import yaml; yaml.safe_load(open('conf/graphs/rocksdb_plus.yaml'))"` +3. Review specific error messages in logs + +### Issue 2: Web Server Port Conflict + +Sample log during startup: + +```java +2025-10-15 01:57:34 [db-open-1] [INFO] o.a.h.b.s.r.RocksDBStdSessions - SidePluginRepo found. Will attempt to open multi CFs RocksDB using Topling plugin. +2025-10-15 01:57:34 [db-open-1] [ERROR] o.a.h.b.s.r.RocksDBStore - Failed to open RocksDB 'rocksdb-data/data/g' +org.rocksdb.RocksDBException: rocksdb::Status rocksdb::SidePluginRepo::StartHttpServer(): null context when constructing CivetServer. Possible problem binding to port. + at org.rocksdb.SidePluginRepo.startHttpServer(Native Method) ~[rocksdbjni-8.10.2-20250804.074027-4.jar:?] +``` + +**Solutions**: + +1. Check if the port is occupied: `lsof -i :2011` +2. Modify `listening_ports` in the YAML file +3. Restart HugeGraph Server + +### Issue 3: Database Initialization Failure + +Sample output indicating lock acquisition failure, possibly due to write permission issues or another process locking the DB: + +```java +Caused by: org.rocksdb.RocksDBException: While lock file: rocksdb-data/data/m/LOCK: Resource temporarily unavailable + at org.rocksdb.SidePluginRepo.nativeOpenDBMultiCF(Native Method) + at org.rocksdb.SidePluginRepo.openDB(SidePluginRepo.java:22) +``` + +**Solutions**: + +1. Confirm correct config path: `rocksdb.option_path=./conf/graphs/rocksdb_plus.yaml` +2. Check data directory permissions: ensure read/write access for the running user +3. Review detailed logs: `bin/init-store.sh 2>&1 | tee init.log` + +## Related Documentation + +- [ToplingDB YAML Configuration Explained](/blog/2025/09/30/toplingdb-yaml-configuration-file/) – Understand each parameter in the config file +- [HugeGraph Configuration Guide](/docs/config/config-option/) – Reference for core HugeGraph settings +- [ToplingDB GitHub Repository](https://github.com/topling/toplingdb) – Official docs and latest updates diff --git a/content/en/blog/images/images-server/toplingdb-web-server.png b/content/en/blog/images/images-server/toplingdb-web-server.png new file mode 100644 index 000000000..aa475ff32 Binary files /dev/null and b/content/en/blog/images/images-server/toplingdb-web-server.png differ diff --git a/content/en/blog/images/images-server/toplingdb-yaml-ref.png b/content/en/blog/images/images-server/toplingdb-yaml-ref.png new file mode 100644 index 000000000..07476def6 Binary files /dev/null and b/content/en/blog/images/images-server/toplingdb-yaml-ref.png differ diff --git a/content/en/blog/news/_index.md b/content/en/blog/news/_index.md deleted file mode 100644 index 13d25eaa4..000000000 --- a/content/en/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News About Docsy" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/en/blog/news/first-post/featured-sunset-get.png b/content/en/blog/news/first-post/featured-sunset-get.png deleted file mode 100644 index db3373c0b..000000000 Binary files a/content/en/blog/news/first-post/featured-sunset-get.png and /dev/null differ diff --git a/content/en/blog/news/first-post/index.md b/content/en/blog/news/first-post/index.md deleted file mode 100644 index b6bfb4772..000000000 --- a/content/en/blog/news/first-post/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -date: 2018-10-06 -title: "Easy documentation with Docsy" -linkTitle: "Announcing Docsy" -description: "The Docsy Hugo theme lets project maintainers and contributors focus on content, not on reinventing a website infrastructure from scratch" -author: Riona MacNamara ([@rionam](https://twitter.com/bepsays)) -resources: -- src: "**.{png,jpg}" - title: "Image #:counter" - params: - byline: "Photo: Riona MacNamara / CC-BY-CA" ---- - -**This is a typical blog post that includes images.** - -The front matter specifies the date of the blog post, its title, a short description that will be displayed on the blog landing page, and its author. - -## Including images - -Here's an image (`featured-sunset-get.png`) that includes a byline and a caption. - -{{< imgproc sunset Fill "600x300" >}} -Fetch and scale an image in the upcoming Hugo 0.43. -{{< /imgproc >}} - -The front matter of this post specifies properties to be assigned to all image resources: - -``` -resources: -- src: "**.{png,jpg}" - title: "Image #:counter" - params: - byline: "Photo: Riona MacNamara / CC-BY-CA" -``` - -To include the image in a page, specify its details like this: - -``` -{{< imgproc sunset Fill "600x300" >}} -Fetch and scale an image in the upcoming Hugo 0.43. -{{< /imgproc >}} -``` - -The image will be rendered at the size and byline specified in the front matter. - - diff --git a/content/en/blog/news/second-post.md b/content/en/blog/news/second-post.md deleted file mode 100755 index 0ef58d7de..000000000 --- a/content/en/blog/news/second-post.md +++ /dev/null @@ -1,245 +0,0 @@ - ---- -title: "The second blog post" -linkTitle: "Second blog post" -date: 2018-10-06 -description: > - A short lead description about this content page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. ---- - -Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over). - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -> There should be no margin above this first sentence. -> -> Blockquotes should be a lighter gray with a border along the left side in the secondary color. -> -> There should be no margin below this final sentence. - -## First Header - -This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width. - -Lorem markdownum tuta hospes stabat; idem saxum facit quaterque repetito -occumbere, oves novem gestit haerebat frena; qui. Respicit recurvam erat: -pignora hinc reppulit nos **aut**, aptos, ipsa. - -Meae optatos *passa est* Epiros utiliter *Talibus niveis*, hoc lata, edidit. -Dixi ad aestum. - -## Header 2 - -> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Header 3 - -``` -This is a code block following a header. -``` - -#### Header 4 - -* This is an unordered list following a header. -* This is an unordered list following a header. -* This is an unordered list following a header. - -##### Header 5 - -1. This is an ordered list following a header. -2. This is an ordered list following a header. -3. This is an ordered list following a header. - -###### Header 6 - -| What | Follows | -|-----------|-----------------| -| A table | A header | -| A table | A header | -| A table | A header | - ----------------- - -There's a horizontal rule above and below this. - ----------------- - -Here is an unordered list: - -* Salt-n-Pepa -* Bel Biv DeVoe -* Kid 'N Play - -And an ordered list: - -1. Michael Jackson -2. Michael Bolton -3. Michael Bublé - -And an unordered task list: - -- [x] Create a sample markdown document -- [x] Add task lists to it -- [ ] Take a vacation - -And a "mixed" task list: - -- [ ] Steal underpants -- ? -- [ ] Profit! - -And a nested list: - -* Jackson 5 - * Michael - * Tito - * Jackie - * Marlon - * Jermaine -* TMNT - * Leonardo - * Michelangelo - * Donatello - * Raphael - -Definition lists can be used with Markdown syntax. Definition terms are bold. - -Name -: Godzilla - -Born -: 1952 - -Birthplace -: Japan - -Color -: Green - - ----------------- - -Tables should have bold headings and alternating shaded rows. - -| Artist | Album | Year | -|-------------------|-----------------|------| -| Michael Jackson | Thriller | 1982 | -| Prince | Purple Rain | 1984 | -| Beastie Boys | License to Ill | 1986 | - -If a table is too wide, it should scroll horizontally. - -| Artist | Album | Year | Label | Awards | Songs | -|-------------------|-----------------|------|-------------|----------|-----------| -| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life | -| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain | -| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill | - ----------------- - -Code snippets like `var foo = "bar";` can be shown inline. - -Also, `this should vertically align` ~~`with this`~~ ~~and this~~. - -Code can also be shown in a block element. - -``` -foo := "bar"; -bar := "foo"; -``` - -Code can also use syntax highlighting. - -```go -func main() { - input := `var foo = "bar";` - - lexer := lexers.Get("javascript") - iterator, _ := lexer.Tokenise(nil, input) - style := styles.Get("github") - formatter := html.New(html.WithLineNumbers()) - - var buff bytes.Buffer - formatter.Format(&buff, style, iterator) - - fmt.Println(buff.String()) -} -``` - -``` -Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. -``` - -Inline code inside table cells should still be distinguishable. - -| Language | Code | -|-------------|--------------------| -| Javascript | `var foo = "bar";` | -| Ruby | `foo = "bar"{` | - ----------------- - -Small images should be shown at their actual size. - - - -Large images should always scale down and fit in the content container. - - - -## Components - -### Alerts - -{{< alert >}}This is an alert.{{< /alert >}} -{{< alert title="Note:" >}}This is an alert with a title.{{< /alert >}} -{{< alert type="success" >}}This is a successful alert.{{< /alert >}} -{{< alert type="warning" >}}This is a warning!{{< /alert >}} -{{< alert type="warning" title="Warning!" >}}This is a warning with a title!{{< /alert >}} - - -## Sizing - -Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Parameters available - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using pixels - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using rem - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -## Memory - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### RAM to use - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### More is better - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Used RAM - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -``` -This is the final element on the page and there should be no margin below this. -``` diff --git a/content/en/blog/releases/_index.md b/content/en/blog/releases/_index.md deleted file mode 100644 index b1d9eb4ff..000000000 --- a/content/en/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "New Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/en/blog/releases/in-depth-monoliths-detailed-spec.md b/content/en/blog/releases/in-depth-monoliths-detailed-spec.md deleted file mode 100755 index ba8bd5222..000000000 --- a/content/en/blog/releases/in-depth-monoliths-detailed-spec.md +++ /dev/null @@ -1,245 +0,0 @@ - ---- -title: "Another Great Release" -linkTitle: "Release New Features" -date: 2018-01-04 -description: > - A short lead description about this content page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs. ---- - -Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over). - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -> There should be no margin above this first sentence. -> -> Blockquotes should be a lighter gray with a border along the left side in the secondary color. -> -> There should be no margin below this final sentence. - -## First Header - -This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width. - -Lorem markdownum tuta hospes stabat; idem saxum facit quaterque repetito -occumbere, oves novem gestit haerebat frena; qui. Respicit recurvam erat: -pignora hinc reppulit nos **aut**, aptos, ipsa. - -Meae optatos *passa est* Epiros utiliter *Talibus niveis*, hoc lata, edidit. -Dixi ad aestum. - -## Header 2 - -> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Header 3 - -``` -This is a code block following a header. -``` - -#### Header 4 - -* This is an unordered list following a header. -* This is an unordered list following a header. -* This is an unordered list following a header. - -##### Header 5 - -1. This is an ordered list following a header. -2. This is an ordered list following a header. -3. This is an ordered list following a header. - -###### Header 6 - -| What | Follows | -|-----------|-----------------| -| A table | A header | -| A table | A header | -| A table | A header | - ----------------- - -There's a horizontal rule above and below this. - ----------------- - -Here is an unordered list: - -* Salt-n-Pepa -* Bel Biv DeVoe -* Kid 'N Play - -And an ordered list: - -1. Michael Jackson -2. Michael Bolton -3. Michael Bublé - -And an unordered task list: - -- [x] Create a sample markdown document -- [x] Add task lists to it -- [ ] Take a vacation - -And a "mixed" task list: - -- [ ] Steal underpants -- ? -- [ ] Profit! - -And a nested list: - -* Jackson 5 - * Michael - * Tito - * Jackie - * Marlon - * Jermaine -* TMNT - * Leonardo - * Michelangelo - * Donatello - * Raphael - -Definition lists can be used with Markdown syntax. Definition terms are bold. - -Name -: Godzilla - -Born -: 1952 - -Birthplace -: Japan - -Color -: Green - - ----------------- - -Tables should have bold headings and alternating shaded rows. - -| Artist | Album | Year | -|-------------------|-----------------|------| -| Michael Jackson | Thriller | 1982 | -| Prince | Purple Rain | 1984 | -| Beastie Boys | License to Ill | 1986 | - -If a table is too wide, it should scroll horizontally. - -| Artist | Album | Year | Label | Awards | Songs | -|-------------------|-----------------|------|-------------|----------|-----------| -| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life | -| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain | -| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill | - ----------------- - -Code snippets like `var foo = "bar";` can be shown inline. - -Also, `this should vertically align` ~~`with this`~~ ~~and this~~. - -Code can also be shown in a block element. - -``` -foo := "bar"; -bar := "foo"; -``` - -Code can also use syntax highlighting. - -```go -func main() { - input := `var foo = "bar";` - - lexer := lexers.Get("javascript") - iterator, _ := lexer.Tokenise(nil, input) - style := styles.Get("github") - formatter := html.New(html.WithLineNumbers()) - - var buff bytes.Buffer - formatter.Format(&buff, style, iterator) - - fmt.Println(buff.String()) -} -``` - -``` -Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. -``` - -Inline code inside table cells should still be distinguishable. - -| Language | Code | -|-------------|--------------------| -| Javascript | `var foo = "bar";` | -| Ruby | `foo = "bar"{` | - ----------------- - -Small images should be shown at their actual size. - - - -Large images should always scale down and fit in the content container. - - - -## Components - -### Alerts - -{{< alert >}}This is an alert.{{< /alert >}} -{{< alert title="Note:" >}}This is an alert with a title.{{< /alert >}} -{{< alert type="success" >}}This is a successful alert.{{< /alert >}} -{{< alert type="warning" >}}This is a warning!{{< /alert >}} -{{< alert type="warning" title="Warning!" >}}This is a warning with a title!{{< /alert >}} - - -## Sizing - -Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Parameters available - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using pixels - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using rem - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -## Memory - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### RAM to use - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### More is better - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Used RAM - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -``` -This is the final element on the page and there should be no margin below this. -``` diff --git a/content/en/blog/toolchain/_index.md b/content/en/blog/toolchain/_index.md new file mode 100644 index 000000000..45f468c46 --- /dev/null +++ b/content/en/blog/toolchain/_index.md @@ -0,0 +1,5 @@ +--- +title: "HugeGraph ToolChain" +linkTitle: "HugeGraph ToolChain" +weight: 2 +--- diff --git a/content/en/docs/config/config-option.md b/content/en/docs/config/config-option.md index 8bf5a1da2..c018ef293 100644 --- a/content/en/docs/config/config-option.md +++ b/content/en/docs/config/config-option.md @@ -61,7 +61,7 @@ Basic Config Options and Backend Config Options correspond to configuration file | config option | default value | description | |---------------------------------------|----------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| gremlin.graph | org.apache.hugegraph.HugeFactory | Gremlin entrance to create graph. | +| gremlin.graph | org.apache.hugegraph.HugeFactory | Gremlin entrance to create graph. | | backend | rocksdb | The data store type, available values are [memory, rocksdb, cassandra, scylladb, hbase, mysql]. | | serializer | binary | The serializer for backend store, available values are [text, binary, cassandra, hbase, mysql]. | | store | hugegraph | The database name like Cassandra Keyspace. | @@ -69,7 +69,7 @@ Basic Config Options and Backend Config Options correspond to configuration file | store.graph | g | The graph table name, which store vertex, edge and property. | | store.schema | m | The schema table name, which store meta data. | | store.system | s | The system table name, which store system data. | -| schema.illegal_name_regex | .*\s+$|~.* | The regex specified the illegal format for schema name. | +| schema.illegal_name_regex | .*\s+$|~.* | The regex specified the illegal format for schema name. | | schema.cache_capacity | 10000 | The max cache size(items) of schema cache. | | vertex.cache_type | l2 | The type of vertex cache, allowed values are [l1, l2]. | | vertex.cache_capacity | 10000000 | The max cache size(items) of vertex cache. | @@ -185,6 +185,8 @@ Other options are consistent with the Cassandra backend. | rocksdb.data_disks | [] | The optimized disks for storing data of RocksDB. The format of each element: `STORE/TABLE: /path/disk`.Allowed keys are [g/vertex, g/edge_out, g/edge_in, g/vertex_label_index, g/edge_label_index, g/range_int_index, g/range_float_index, g/range_long_index, g/range_double_index, g/secondary_index, g/search_index, g/shard_index, g/unique_index, g/olap] | | rocksdb.data_path | rocksdb-data/data | The path for storing data of RocksDB. | | rocksdb.wal_path | rocksdb-data/wal | The path for storing WAL of RocksDB. | +| rocksdb.option_path | | The YAML file for configuring ToplingDB/RocksDB parameters. | +| rocksdb.open_http | false | Whether to start ToplingDB HTTP service. Security: enable only in trusted networks and restrict access (firewall/ACL); the port and document_root are configured in the YAML (http.listening_ports/document_root). | | rocksdb.allow_mmap_reads | false | Allow the OS to mmap file for reading sst tables. | | rocksdb.allow_mmap_writes | false | Allow the OS to mmap file for writing. | | rocksdb.block_cache_capacity | 8388608 | The amount of block cache in bytes that will be used by RocksDB, 0 means no block cache. | diff --git a/content/en/docs/contribution-guidelines/hugegraph-server-idea-setup.md b/content/en/docs/contribution-guidelines/hugegraph-server-idea-setup.md index 43e5cd895..698af8519 100644 --- a/content/en/docs/contribution-guidelines/hugegraph-server-idea-setup.md +++ b/content/en/docs/contribution-guidelines/hugegraph-server-idea-setup.md @@ -35,6 +35,8 @@ cp -r hugegraph-dist/src/assembly/static/scripts hugegraph-dist/src/assembly/sta Replace `path-to-your-directory` with the path to the directory where you want to copy the files. +> After introducing ToplingDB, developers need to execute the `preload-topling.sh` script, which automatically extracts the required dynamic libraries and Web Server static resources into the `library` directory located alongside the `bin` directory (the static resources will also be copied to `/dev/shm/rocksdb_resource` ). + #### 2. Configure `InitStore` to initialize the graph First, you need to configure the database backend in the configuration files. In this example, we will use RocksDB. Open `path-to-your-directory/conf/graphs/hugegraph.properties` and configure it as follows: @@ -51,6 +53,9 @@ Next, open the `Run/Debug Configurations` panel in IntelliJ IDEA and create a ne - Select `hugegraph-dist` as the `Use classpath of module`. - Set the `Main class` to `org.apache.hugegraph.cmd.InitStore`. - Set the program arguments to `conf/rest-server.properties`. Note that the path here is relative to the working directory, so make sure to set the working directory to `path-to-your-directory`. +- ToplingDB requires preloading dynamic libraries via the `LD_PRELOAD` mechanism. Developers need to set two environment variables: `LD_LIBRARY_PATH` should point to the `library` directory extracted by `preload-topling.sh`, and `LD_PRELOAD` should be set to `libjemalloc.so:librocksdbjni-linux64.so` to ensure the necessary libraries are correctly loaded at runtime. + - LD_LIBRARY_PATH=/path/to/your/library:$LD_LIBRARY_PATH + - LD_PRELOAD=libjemalloc.so:librocksdbjni-linux64.so > If **user authentication** (authenticator) is configured for HugeGraph-Server in the **Java 11** environment, you need to refer to the script [configuration](https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-dist/src/assembly/static/bin/init-store.sh#L52) in the binary package and add the following **VM options**: > @@ -164,4 +169,4 @@ This is because Log4j2 uses asynchronous loggers. You can refer to the [official 2. [Local Debugging Guide for HugeGraph Server (Win/Unix)](https://gist.github.com/imbajin/1661450f000cd62a67e46d4f1abfe82c) 3. ["package sun.misc does not exist" compilation error](https://youtrack.jetbrains.com/issue/IDEA-180033) 4. [Cannot compile: java: package sun.misc does not exist](https://youtrack.jetbrains.com/issue/IDEA-201168) -5. [The code-style config for HugeGraph in IDEA](https://github.com/apache/incubator-hugegraph/wiki/The-style-config-for-HugeGraph-in-IDEA) \ No newline at end of file +5. [The code-style config for HugeGraph in IDEA](https://github.com/apache/incubator-hugegraph/wiki/The-style-config-for-HugeGraph-in-IDEA) diff --git a/content/en/docs/quickstart/hugegraph/hugegraph-server.md b/content/en/docs/quickstart/hugegraph/hugegraph-server.md index bbed2963e..d4ecc1d60 100644 --- a/content/en/docs/quickstart/hugegraph/hugegraph-server.md +++ b/content/en/docs/quickstart/hugegraph/hugegraph-server.md @@ -46,8 +46,8 @@ We can use `docker run -itd --name=graph -e PASSWORD=xxx -p 8080:8080 hugegraph/ Optional: 1. use `docker exec -it graph bash` to enter the container to do some operations. -2. use `docker run -itd --name=graph -p 8080:8080 -e PRELOAD="true" hugegraph/hugegraph:1.5.0` to start with a **built-in** example graph. We can use `RESTful API` to verify the result. The detailed step can refer to [5.1.7](#517-create-an-example-graph-when-startup) -3. use `-e PASSWORD=xxx` to enable auth mode and set the password for admin. You can find more details from [Config Authentication](/docs/config/config-authentication#Use-docker-to-enble-authentication-mode) +2. use `docker run -itd --name=graph -p 8080:8080 -e PRELOAD="true" hugegraph/hugegraph:1.5.0` to start with a **built-in** example graph. We can use `RESTful API` to verify the result. The detailed step can refer to [5.1.9](#519-create-an-example-graph-when-startup) +3. use `-e PASSWORD=xxx` to enable auth mode and set the password for admin. You can find more details from [Config Authentication](/docs/config/config-authentication#use-docker-to-enable-authentication-mode) If you use docker desktop, you can set the option like: