Renaming a file does not refresh on the UI for some cases

I just report an issue on Github about file rename:
https://github.com/pydio/cells/issues/63

I made a video of the problem so you can better understand what is happening : GUI is not up to date with filesystem (showing the filename of the previous rename instead of the actual one) !

At the end of the video the test.txt file is:

  • test4.txt on the filesystem (good)
  • test3.txt on the webui (wrong)

I tried to re-sync datasource and I’m still in the same incoherent situation after.

A little surprised not to see other reports, am I alone with this problem ?

Hi,
this seems weird, i don’t have this issue.
docker on mac with pydio cells 1.2.5

i would also advise you to ask on the forum first before opening an issue on github, this way we can figure the issue, before opening the ticket (if needed).

Ok I’ll do that next time.
Last time I post an issue on the (old) forum, someone told me to open an issue on Github for the bugs so this time I did both :wink:

For the issue, I’ll do some tests on other host OS (CentOS 7) ant other filesystem (I’m currently using btrfs on my server).

yeah fair enough,
i did not ask but could you describe your setup?
do you have a reverse proxy, is your cells running on a vps, vm or w/e?
i want to make sure that i did not miss something.

No problem, some information is already in the Github issue.

My environment specs:

  • Physical server + docker
  • CPU = Intel i5-2300 (4 x 2.80GHz)
  • RAM = 16 Gb DDR3
  • Storage = 2 Tb SATA (BTRFS)
  • OS = Debian 9.7 (up to date 2019-02-15)
  • MariaDB = 10.3.12-MariaDB
  • Pydio = 1.2.5 (Docker)
  • Docker = 18.09.2
  • Reverse-proxy : Haproxy

ah i see, it could be the proxy,
i don’t have experience with Haproxy but could you tell me what kind of config is it, even better show it.
Maybe there a rule missing.

I dont think the reverse-proxy could be in cause in this case.
Just tried, bypassing (making docker listen on host IP), same situation appened again.

Definitively not a reverse-proxy issue.
A vanilla install still does the same on this server binding directly the docker container to public IP.
Tried on a VM on my local computer, with the same software environment and I didn’t see the problem …

I checked in db, table “data_index_personal_idx_nodes” contains the good value.

Could you look at your browser’s console when you rename the file,
and even better could you try with another browser to be sure.

I was on this …
I create a file “1.txt” then rename it to “2.txt”.

Here is what I get from the server answer:

{
   "Nodes":[
      {
         "Uuid":"DATASOURCE:pydiods1",
         "Path":"common-files/",
         "Type":"COLLECTION",
         "Size":"2",
         "MTime":"1550239823",
         "Etag":"-1",
         "MetaStore":{
            "ChildrenCount":"1",
            "name":"\"\""
         }
      },
      {
         "Uuid":"cfe1167d-1195-40c1-aa80-8633f9af47cf",
         "Path":"common-files/2.txt",
         "Type":"LEAF",
         "Size":"1",
         "MTime":"1550239815",
         "Mode":511,
         "Etag":"7215ee9c7d9dc229d2921a40e899ec5f",
         "MetaStore":{
            "name":"\"1.txt\""
         }
      }
   ]
}

Checked without cache on Firefox and Chrome.

  • 1.txt on webui
  • 2.txt in filesystem

mmm,
do you use a volume?
it’s hard to understand where the error comes from as it seems to be specific to you, it’s going to take some testing to figure where it is.

I just map a local folder in the docker container:

docker run -dit --restart unless-stopped \
  -p 127.0.0.1:8082:8082 \
  -v /home/cells:/root/.config/pydio/cells \
  -v /var/run/mysqld:/var/run/mysqld \
  -e CELLS_BIND=0.0.0.0:8082 \
  -e CELLS_EXTERNAL=cells.domain.fr \
  -e CELLS_NO_SSL=0 \
  --name cells pydio/cells

What is this “MetaStore” value ?

         "MetaStore":{
            "name":"\"1.txt\""
         }

it contains information about the file and it seems like your is not changing.

i created a file and renamed it but for me it’s working properly.

to resume my setup, docker, no ssl using this configuration:

            - CELLS_BIND=0.0.0.0:7777
            - CELLS_EXTERNAL=192.168.0.116:7777
            - CELLS_NO_SSL=1

I tried with your settings, and with removing volumes with no success.
I have no idea what is going wrong here !

and even when you access your interface without the proxy,
maybe make sure to clear caches (which i guess you did).

Yes, I removed the proxy, the port is directly mapped to the host port.
Cached cleared and I tried in private mode.
I also change the domain to try.

Edit:
This is going to make me crazy !
Thank you for your help investigating this issue.
I’m going to rebuild a new server to see what is wrong here.
Give me a few days and I’ll come back and told you what I found.

I was able to set up a new server today:

  • Physical server + docker
  • CPU = Intel Xeon W3520 (vs Intel i5-2300)
  • RAM = 16 Gb DDR3 ECC (vs no ECC)
  • Storage = 2x 2 Tb SATA EXT4 (vs 1x BTRFS)
  • OS = Debian 9.8 (up to date 2019-02-17)
  • MariaDB = 10.3.12-MariaDB
  • Pydio = 1.2.5 (Docker)
  • Docker = 18.09.2

I launch docker with these options (no reverse proxy):

docker run -dit --restart unless-stopped \
  -p 8082:8082 \
  -e CELLS_BIND=0.0.0.0:8082 \
  -e CELLS_EXTERNAL=srv.mydomain.fr:8082 \
  -e CELLS_NO_SSL=1 \
  --name cells pydio/cells

I can have a direct access to Cells with http://srv.mydomain.fr:8082 (no reverse-proxy).
And I got the exact same situation whe renaming files.

I was also able to reproduce the issue in a local VM.

One more thing : I noticed that if I move the file to another folder, his name changes to the correct one.

After lot of hours passed testing:

  • Debian 9 + MariaDB 10.3 (repo) + Cells (Bin) = problem
  • Debian 9 + MariaDB 10.3 (repo) + Cells (Docker) = problem
  • Debian 9 + MySQL 5.7 (repo) + Cells (Docker) = no problem
  • Debian 9 + MariaDB 10.3 (Docker) + Cells (Docker) = no problem
  • Debian 9 + MySQL 5.7 (Docker) + Cells (Docker) = no problem
  • CentOS 7 + MariaDB 10.3 (repo) + Cells (Docker) = no problem

I dont know what is the problem with MariaDB 10.3 on Debian 9 host … but the problem is here !

How I installed MariaDB 10.3:

apt-get install -y software-properties-common dirmngr
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash -s -- --mariadb-server-version="mariadb-10.3"
apt-get update && apt-get dist-upgrade
apt-get install mariadb-server mariadb-client

Hi,
i’ll try with maria 10.3 on debian and see what happens.

Ok, I think I just find it : I disabled bin_logs commenting lines in my.cfg and now renaming seems to work as expexted !

#log_bin                        = /var/log/mysql/mariadb-bin
#log_bin_index          = /var/log/mysql/mariadb-bin.index
#expire_logs_days       = 10
#max_binlog_size         = 100M