Skip to content

renaming folder doesn't sync between two macos in the same network #6413

@davidsmith91

Description

@davidsmith91
  1. Have a home network with a Router. Router is connected to cabled WAN at 1Gbps speed.
    1.a) Have two macbooks both running Macos Sonoma 14.6.1
  2. On Macbook1: Run "brew install docker docker-desktop", and host Redis there (last version of official docker image, 8.2.2-alpine3.22)
    2.a) On both macbooks: run "brew install juicefs" and have "juicefs stable 1.3.0 version"
  3. On both macbooks: install macfuse (last version, 5.0.7).
  4. Be in Europe. Have a Bucket on IdriveE2 in Singapore, at about 10000km distance from you.

This is the ping from the bucket endpoint:


user@macbook folder % ping b9t8.sg02.idrivee2-91.com
PING sg2.idrivee2.com (198.73.183.3): 56 data bytes
64 bytes from 198.73.183.3: icmp_seq=0 ttl=51 time=176.665 ms
64 bytes from 198.73.183.3: icmp_seq=1 ttl=51 time=166.448 ms
64 bytes from 198.73.183.3: icmp_seq=2 ttl=51 time=165.235 ms
64 bytes from 198.73.183.3: icmp_seq=3 ttl=51 time=169.028 ms
64 bytes from 198.73.183.3: icmp_seq=4 ttl=51 time=165.423 ms
64 bytes from 198.73.183.3: icmp_seq=5 ttl=51 time=168.781 ms
64 bytes from 198.73.183.3: icmp_seq=6 ttl=51 time=166.328 ms

  1. On macbook1 (the one who also hosts Redis on docker): run juicefs mount in a folder in $HOME. Point it to a bucket X using metadata from Macbook1 Redis. This is the script I use:

user@macbook folder % cat idriveMount.sh
#!/bin/bash
set -euo pipefail

BUCKET_URL="https://justanidrivebucket.b9t8.sg02.idrivee2-91.com"
VOLUME_NAME="localEncryptedIdrive"
MOUNTDIR="$HOME/localEncryptedIdriveJuiceFS"

read -r -s -p "AWS ACCESS KEY ID: "      AWS_ACCESS_KEY_ID     && echo
read -r -s -p "AWS SECRET ACCESS KEY: "  AWS_SECRET_ACCESS_KEY && echo
read -r -s -p "Redis password: "         REDIS_PASS            && echo
read -r -s -p "Pass-phrase RSA: "        JFS_RSA_PASSPHRASE    && echo
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY REDIS_PASS JFS_RSA_PASSPHRASE

KEYFILE="$HOME/jfs.key"
[[ -f "$KEYFILE" ]] || openssl genrsa -aes256 -out "$KEYFILE" 2048

# Use DB 4 for the volume "localEncryptedIdrive"
REDIS_URL="redis://:${REDIS_PASS}@127.0.0.1:6379/4"

juicefs format \
  --storage s3 \
  --bucket "$BUCKET_URL" \
  --access-key "$AWS_ACCESS_KEY_ID" \
  --secret-key "$AWS_SECRET_ACCESS_KEY" \
  --encrypt-rsa-key "$KEYFILE" \
  "$REDIS_URL" "$VOLUME_NAME" || true

mkdir -p "$MOUNTDIR"

juicefs mount \
  --storage s3 \
  --cache-size 1024 \
  --buffer-size 1024 \
  --max-uploads 30 \
  --prefetch 2 \
  "$REDIS_URL" "$MOUNTDIR"

echo "✓ Volume mounted at $MOUNTDIR"

  1. On macbook2: Mount juicefs in a folder in $HOME. Point it to a bucket X using metadata from Macbook1 Redis. I just use the same script of point 3 but I change redis address from 127.0.0.1 to 192.168.1.8 (macbook1 address).

  2. now open Finder on both macbooks and go into the mounted drive

  3. create few folders: folder1, folder2, folder3

  4. now open the mounted drive again on both macbooks, put them one near the other

  5. on macbook1: edit folder1 name to folder1abc

  6. on macbook2: cry as the rename operation never shows up. folder1 stays folder1 forever.

I was having this issue months and months ago and this made me leave JuiceFS and discard it as an option.
Does this have a solution? And is juicefs usable in this way?

I basically want to use the cache mechanism to make a far cloud storage be usable. I thought: juicefs should fix the latency issue, so bandwidth and filesize would be the only issue. But I remember having speed issues months ago, and also having these kind of sync issues that basically mean: no sync.

Please investigate this and/or fix this and/or provide a solution. Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions