Docs: Upgrade markdownlint-cli2 to 0.17.2 (#6084)

This commit is contained in:
Changjian Gao
2025-04-29 22:36:45 +08:00
committed by GitHub
parent 49eb62867f
commit 6881919192
17 changed files with 2199 additions and 214 deletions

View File

@@ -6,6 +6,9 @@ on:
- 'main'
- 'release-**'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '**.java'
@@ -16,6 +19,9 @@ on:
- 'main'
- 'release-**'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '.github/**'
@@ -38,7 +44,7 @@ jobs:
fail-fast: false
matrix:
meta: [ 'sqlite3', 'redis', 'badger' ]
runs-on: ubuntu-22.04
steps:
- uses: shogo82148/actions-setup-perl@v1
@@ -57,11 +63,11 @@ jobs:
- name: Build
timeout-minutes: 10
uses: ./.github/actions/build
with:
with:
target: ${{steps.vars.outputs.target}}
- name: Prepare meta db
run: |
run: |
chmod +x .github/scripts/start_meta_engine.sh
source .github/scripts/start_meta_engine.sh
start_meta_engine ${{matrix.meta}}
@@ -101,7 +107,7 @@ jobs:
- name: log
if: always()
shell: bash
run: |
run: |
if [ -f ~/.juicefs/juicefs.log ]; then
tail -300 ~/.juicefs/juicefs.log
grep "<FATAL>:" ~/.juicefs/juicefs.log && exit 1 || true
@@ -116,7 +122,7 @@ jobs:
uses: juicedata/slack-notify-action@main
with:
channel-id: "${{ secrets.SLACK_CHANNEL_ID_FOR_PR_CHECK_NOTIFY }}"
slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"
slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"
- name: Setup upterm session
if: failure() && (github.event.inputs.debug == 'true' || github.run_attempt != 1)
@@ -144,4 +150,4 @@ jobs:
- name: Success
if: success()
run: echo "All Done"
run: echo "All Done"

View File

@@ -6,6 +6,9 @@ on:
- 'main'
- 'release-**'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '.github/**'
@@ -16,6 +19,9 @@ on:
- 'main'
- 'release-**'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '.github/**'
@@ -84,14 +90,14 @@ jobs:
else
echo "target=juicefs" >> $GITHUB_OUTPUT
fi
- name: Build
uses: ./.github/actions/build
with:
with:
target: ${{steps.vars.outputs.target}}
- name: Prepare meta db
run: |
run: |
chmod +x .github/scripts/start_meta_engine.sh
source .github/scripts/start_meta_engine.sh
start_meta_engine ${{matrix.meta}}
@@ -110,7 +116,7 @@ jobs:
meta_url=$(get_meta_url ${{matrix.meta}})
# sudo mkdir /var/jfs
# sudo chmod 777 /var/jfs
sudo GOCOVERDIR=$(pwd)/cover ./juicefs mount -d $meta_url /tmp/jfs --no-usage-report
sudo GOCOVERDIR=$(pwd)/cover ./juicefs mount -d $meta_url /tmp/jfs --no-usage-report
stat /tmp/jfs/.accesslog
- name: Pjdfstest
@@ -127,7 +133,7 @@ jobs:
- name: log
if: always()
shell: bash
run: |
run: |
if [ -f ~/.juicefs/juicefs.log ]; then
tail -300 ~/.juicefs/juicefs.log
grep "<FATAL>:" ~/.juicefs/juicefs.log && exit 1 || true
@@ -149,7 +155,7 @@ jobs:
uses: juicedata/slack-notify-action@main
with:
channel-id: "${{ secrets.SLACK_CHANNEL_ID_FOR_PR_CHECK_NOTIFY }}"
slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"
slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"
- name: Setup upterm session
if: failure() && (github.event.inputs.debug == 'true' || github.run_attempt != 1)
@@ -176,5 +182,5 @@ jobs:
slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"
- name: Success
if: success()
run: echo "All Done"
if: success()
run: echo "All Done"

View File

@@ -6,6 +6,9 @@ on:
- 'main'
- 'release-*'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
pull_request:
@@ -14,6 +17,9 @@ on:
- 'main'
- 'release-*'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '.github/**'
@@ -26,7 +32,7 @@ on:
default: false
schedule:
- cron: '0 17 * * *'
jobs:
sdktest:
timeout-minutes: 50
@@ -62,7 +68,7 @@ jobs:
touch /jfs/inner_sym_target
echo "hello juicefs" > /jfs/inner_sym_target
cd /jfs
ln -s inner_sym_target inner_sym_link
ln -s inner_sym_target inner_sym_link
mkdir etc
chmod 777 etc
echo `hostname` > etc/nodes
@@ -76,7 +82,7 @@ jobs:
make -C sdk/java/libjfs
cd sdk/java
sudo mvn test -B -Dtest=\!io.juicefs.permission.**
sudo mvn test -B -Dflink.version=1.17.2 -Dtest=io.juicefs.JuiceFileSystemTest#testFlinkHadoopRecoverableWriter
sudo mvn test -B -Dflink.version=1.17.2 -Dtest=io.juicefs.JuiceFileSystemTest#testFlinkHadoopRecoverableWriter
sudo JUICEFS_RANGER_TEST=1 mvn test -B -Dtest=io.juicefs.permission.RangerPermissionCheckerTest
sudo mvn package -B -Dmaven.test.skip=true --quiet -Dmaven.javadoc.skip=true
expect=$(git rev-parse --short HEAD | cut -b 1-7)
@@ -87,7 +93,7 @@ jobs:
uses: juicedata/slack-notify-action@main
with:
channel-id: "${{ secrets.SLACK_CHANNEL_ID_FOR_PR_CHECK_NOTIFY }}"
slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"
slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"
- name: Setup upterm session
if: failure() && (github.event.inputs.debug == 'true' || github.run_attempt != 1)

View File

@@ -6,6 +6,9 @@ on:
- 'main'
- 'release-*'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '**.java'
@@ -16,6 +19,9 @@ on:
- 'main'
- 'release-*'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '.github/**'
@@ -88,7 +94,7 @@ jobs:
echo "/srv/nfs 127.0.0.1(rw,sync,insecure)" | sudo tee -a /etc/exports
sudo systemctl start nfs-kernel-server.service
sudo exportfs -arv
- if: matrix.test == 'test.meta.non-core'
name: Install redis-cluster
uses: vishnudxb/redis-cluster@1.0.5
@@ -115,7 +121,7 @@ jobs:
continue-on-error: true
uses: ./.github/actions/upload-coverage
with:
UPLOAD_TOKEN: ${{ secrets.CI_COVERAGE_FILE_UPLOAD_AUTH_TOKEN }}
UPLOAD_TOKEN: ${{ secrets.CI_COVERAGE_FILE_UPLOAD_AUTH_TOKEN }}
- name: Code Coverage
uses: codecov/codecov-action@v3
@@ -141,7 +147,7 @@ jobs:
run: exit 1
- name: Send Slack Notification
if: failure() && github.event_name != 'workflow_dispatch'
if: failure() && github.event_name != 'workflow_dispatch'
uses: juicedata/slack-notify-action@main
with:
channel-id: "${{ secrets.SLACK_CHANNEL_ID_FOR_PR_CHECK_NOTIFY }}"
@@ -150,4 +156,3 @@ jobs:
- name: Success
if: success()
run: echo "All Done"

View File

@@ -6,6 +6,9 @@ on:
- main
- 'release-**'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '.github/**'
@@ -15,6 +18,9 @@ on:
- 'main'
- 'release-**'
paths-ignore:
- '.autocorrectrc'
- '.markdownlint-cli2.jsonc'
- 'package*.json'
- 'docs/**'
- '**.md'
- '.github/**'
@@ -22,7 +28,7 @@ on:
workflow_dispatch:
schedule:
- cron: '0 17 * * 0'
jobs:
lint:
runs-on: ubuntu-22.04
@@ -35,7 +41,7 @@ jobs:
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
- name: Setup upterm session
if: failure() && (github.event.inputs.debug == 'true' || github.run_attempt != 1)
# if: failure()
@@ -57,15 +63,15 @@ jobs:
go-version: ${{ matrix.version }}
cache: true
id: go
- name: Install dependencies
run: |
sudo .github/scripts/apt_install.sh g++-multilib gcc-mingw-w64
- name: Go mod tidy
run: |
go mod tidy
- name: Build linux target
timeout-minutes: 10
run: |
@@ -74,7 +80,7 @@ jobs:
- name: build lite
timeout-minutes: 10
run: |
run: |
make juicefs.lite
./juicefs.lite version

View File

@@ -10,12 +10,15 @@
"style": "atx"
},
"ul-style": false,
"link-image-style": {
"autolink": false
},
"no-hard-tabs": {
"spaces_per_tab": 4
},
"line-length": false,
"no-duplicate-heading": {
"allow_different_nesting": true
"siblings_only": true
},
"no-inline-html": {
"allowed_elements": [

View File

@@ -9,6 +9,7 @@ slug: /metadata_dump_load
- JuiceFS v1.0.0 starts to support automatic metadata backup.
- JuiceFS v1.0.4 starts to support importing an encrypted backup.
- JuiceFS v1.3.0 starts to support binary format metadata backup and recovery.
:::
JuiceFS supports [multiple metadata engines](../reference/how_to_set_up_metadata_engine.md), and each engine stores and manages data in a different format internally. JuiceFS provides the [`dump`](../reference/command_reference.mdx#dump) command to export metadata in a uniform JSON format, also there's the [`load`](../reference/command_reference.mdx#load) command to restore or migrate backups to any metadata storage engine. This dump / load process can also be used to migrate a community edition file system to enterprise edition (read [enterprise docs](https://juicefs.com/docs/cloud/administration/metadata_dump_load) for more), and vice versa.
@@ -19,6 +20,7 @@ JuiceFS supports [multiple metadata engines](../reference/how_to_set_up_metadata
* `juicefs dump` does not provide snapshot consistency. If files are modified during the export, the final backup file will contain information from different points in time, which might prove unusable for some applications (like databases). If you have higher standards for consistency, you should suspend all writes to the system before exporting.
* For large scale file systems, dumping directly from online database may prove risks to system reliability, use with caution.
:::
## File format
@@ -180,14 +182,14 @@ Example output:
```
Backup Version: 1
-----------------------
Name | Num
Name | Num
-----------------------
acl | 0
chunk | 1111179
counter | 6
delFile | 0
edge | 1112124
format | 1
acl | 0
chunk | 1111179
counter | 6
delFile | 0
edge | 1112124
format | 1
Segment: format
Value: {

View File

@@ -15,6 +15,7 @@ Conclusion first:
1. By changing `appendfsync` from `always` to `everysec`, Redis gains performance boost but loses a bit of data reliability. More information can be found [here](https://redis.io/docs/manual/persistence).
2. Both Redis and MySQL store only one replica locally, while TiKV and etcd stores three replicas on three different hosts using Raft protocol.
:::
Details are provided below. Please note all the tests are run with the same object storage (to save data), clients and metadata hosts, only metadata engines differ.
@@ -189,7 +190,7 @@ fio --name=big-write --directory=/mnt/jfs --rw=write --refill_buffers --bs=4M --
| File removal | 6084.791 | 12221.083 | 1073.063 | 3961.855 | 3742.269 | 1648.734 | 2214.311 |
| Tree creation | 80.121 | 83.546 | 34.420 | 61.937 | 77.875 | 56.299 | 74.982 |
| Tree removal | 218.535 | 95.599 | 42.330 | 44.696 | 114.414 | 76.002 | 64.036 |
| **SMALL FILES** | | | | | | |
| **SMALL FILES** | | | | | | | |
| File creation | 295.067 | 312.182 | 275.588 | 289.627 | 307.121 | 275.578 | 263.487 |
| File stat | 54069.827 | 52800.108 | 8760.709 | 19841.728 | 14076.214 | 8214.318 | 10009.670 |
| File read | 62341.568 | 57998.398 | 4639.571 | 19244.678 | 23376.733 | 5477.754 | 6533.787 |

View File

@@ -137,6 +137,7 @@ There are multiple JuiceFS client packages available on AUR. The following are v
- [`aur/juicefs`](https://aur.archlinux.org/packages/juicefs): A stable compiled version that fetches the latest stable source code and compiles it during installation.
- [`aur/juicefs-bin`](https://aur.archlinux.org/packages/juicefs-bin): A stable pre-compiled version that directly downloads and installs the latest stable pre-compiled program.
- [`aur/juicefs-git`](https://aur.archlinux.org/packages/juicefs-git): A development version that fetches the latest development source code and compiles it during installation.
:::
Additionally, you can manually compile and install using `makepkg`, as shown for an Arch Linux system:

View File

@@ -950,6 +950,7 @@ juicefs format \
1. Currently, JuiceFS only supports path-style MinIO URI addresses, e.g., `http://127.0.0.1:9000/myjfs`.
1. The `MINIO_REGION` environment variable can be used to set the region of MinIO, if not set, the default is `us-east-1`.
1. When using Multi-Node MinIO deployment, consider setting using a DNS address in the service endpoint, resolving to all MinIO Node IPs, as a simple load-balancer, e.g. `http://minio.example.com:9000/myjfs`
:::
### WebDAV

View File

@@ -9,6 +9,7 @@ slug: /metadata_dump_load
- JuiceFS v1.0.0 开始支持元数据自动备份
- JuiceFS v1.0.4 开始支持通过 `load` 命令恢复加密的元数据备份
- JuiceFS v1.3.0 开始支持二进制格式的元数据备份和恢复
:::
JuiceFS 支持[多种元数据引擎](../reference/how_to_set_up_metadata_engine.md)且各引擎内部的数据管理格式各有不同。为了便于管理JuiceFS 提供了 [`dump`](../reference/command_reference.mdx#dump) 命令允许将所有元数据以统一格式写入到 JSON 或二进制文件进行备份。同时JuiceFS 也提供了 [`load`](../reference/command_reference.mdx#load) 命令,允许将备份恢复或迁移到任意元数据存储引擎。这个导出导入流程也可以用来将 JuiceFS 社区版文件系统迁移到企业版(参考[企业版文档](https://juicefs.com/docs/zh/cloud/administration/metadata_dump_load)),反之亦然。
@@ -19,6 +20,7 @@ JuiceFS 支持[多种元数据引擎](../reference/how_to_set_up_metadata_engine
* `juicefs dump` 不提供全局时间点快照的功能,如果在导出过程中业务仍在写入,最终结果会包含不同时间点的信息,对于特定应用(比如数据库),这可能意味着导出文件不可用。如果对一致性有更高要求,可能需要在导出前确保应用停写。
* 对大规模文件系统,如果直接在线上环境进行导出,可能影响业务稳定性。
:::
## 文件格式
@@ -180,14 +182,14 @@ juicefs load meta-dump --binary --stat --offset=123416309
```
Backup Version: 1
-----------------------
Name | Num
Name | Num
-----------------------
acl | 0
chunk | 1111179
counter | 6
delFile | 0
edge | 1112124
format | 1
acl | 0
chunk | 1111179
counter | 6
delFile | 0
edge | 1112124
format | 1
Segment: format
Value: {

View File

@@ -15,6 +15,7 @@ description: 本文采用亚马逊云的真实环境,介绍如何对 JuiceFS
1. Redis 可以通过将 `appendfsync` 配置项由 `always` 改为 `everysec`,牺牲少量可靠性来换取一定的性能提升。更多信息可参见[这里](https://redis.io/docs/manual/persistence)。
2. 测试中 Redis 和 MySQL 数据均仅在本地存储单副本TiKV 和 etcd 数据会在三个节点间通过 Raft 协议存储三副本。
:::
以下提供了测试的具体细节。这些测试都运行在相同的对象存储(用来存放数据)、客户端和元数据节点上,只有元数据引擎不同。
@@ -193,7 +194,7 @@ fio --name=big-write --directory=/mnt/jfs --rw=write --refill_buffers --bs=4M --
| File removal | 6084.791 | 12221.083 | 1073.063 | 3961.855 | 3742.269 | 1648.734 | 2214.311 |
| Tree creation | 80.121 | 83.546 | 34.420 | 61.937 | 77.875 | 56.299 | 74.982 |
| Tree removal | 218.535 | 95.599 | 42.330 | 44.696 | 114.414 | 76.002 | 64.036 |
| **SMALL FILES** | | | | | | |
| **SMALL FILES** | | | | | | | |
| File creation | 295.067 | 312.182 | 275.588 | 289.627 | 307.121 | 275.578 | 263.487 |
| File stat | 54069.827 | 52800.108 | 8760.709 | 19841.728 | 14076.214 | 8214.318 | 10009.670 |
| File read | 62341.568 | 57998.398 | 4639.571 | 19244.678 | 23376.733 | 5477.754 | 6533.787 |

View File

@@ -19,7 +19,7 @@ slug: /adopters
| [理想汽车](https://www.lixiang.com) | 汽车大数据AI | [JuiceFS 在理想汽车的使用和展望](https://juicefs.com/zh-cn/blog/li-auto-with-juicefs)<br />[理想汽车:从 Hadoop 到云原生的演进与思考](https://juicefs.com/zh-cn/blog/liauto-case-hadoop-cloudnatrive) |
| [蔚来汽车](https://www.nio.cn) | 汽车AI | |
| [上汽集团](https://www.saicmotor.com/chinese) | 汽车AI | [上汽云 x JuiceFSiGear 用了这个小魔法,模型训练速度提升 300%](https://juicefs.com/zh-cn/blog/performance-boost-3x-on-igear-platform) |
| [Plus.AI](https://plus.ai) | 汽车AI |
| [Plus.AI](https://plus.ai) | 汽车AI | |
| [五菱汽车](https://wuling.com) | 汽车,大数据 | |
| [驭势科技](https://www.uisee.com) | 汽车AI | |
| [长安汽车梧桐车联](https://www.auto-pai.com) | AI大数据 | |

View File

@@ -135,6 +135,7 @@ AUR 上存在多个 JuiceFS 客户端的打包,以下是 JuiceFS 官方维护
- [`aur/juicefs`](https://aur.archlinux.org/packages/juicefs):是稳定编译版,安装时会拉取最新的稳定版源码并编译安装;
- [`aur/juicefs-bin`](https://aur.archlinux.org/packages/juicefs-bin):是稳定预编译版,安装时会直接下载最新的稳定版预编译程序并安装;
- [`aur/juicefs-git`](https://aur.archlinux.org/packages/juicefs-git):是开发版,安装时会拉取最新的开发版源码并编译安装;
:::
另外,你也可以使用 `makepkg` 手动编译安装,以 Arch Linux 系统为例:

View File

@@ -908,6 +908,7 @@ juicefs format \
1. 当前JuiceFS 仅支持路径风格的 MinIO URI 地址,例如:`http://127.0.0.1:9000/myjfs`
1. `MINIO_REGION` 环境变量可以用于设置 MinIO 的 region如果不设置默认为 `us-east-1`
1. 面对多节点 MinIO 集群,考虑在 Endpoint 中使用 DNS 域名,解析到各个 MinIO 节点,作为简易负载均衡,比如 `http://minio.example.com:9000/myjfs`
:::
### WebDAV

2277
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -12,7 +12,7 @@
"markdown-lint-fix": "./node_modules/.bin/markdownlint-cli2-fix './docs/**/*.md' README*.md"
},
"dependencies": {
"markdownlint-cli2": "^0.5.1",
"markdownlint-cli2": "^0.17.2",
"markdownlint-rule-enhanced-proper-names": "^0.0.1",
"markdownlint-rule-no-trailing-slash-in-links": "^0.0.1",
"remark-cli": "^11.0.0",