Comments (7)
eacces hints filesystem permission issue.
could you check if the dir /opt/emqx/fs_emqx (mounted to docker?) can be read by the emqx
user?
from emqx.
Yes that was my first thought, too – but the directories were created by the Docker image of emqx 5.5.1 and are accessible by UID/GID 1000 (emqx inside the container).
Interestingly, after switching from Retained messages on disk to RAM and back to disk the error message changed:
500 INTERNAL_ERROR: exit, {noproc,{gen_server,call,[emqx_retainer,{page_read,undefined,1,20},infinity]}}, [{gen_server,call,3,[{file,"gen_server.erl"},{line,419}]},{emqx_retainer_api,lookup_retained,2,[{file,"emqx_retainer_api.erl"},{line,188}]},{minirest_handler,apply_callback,3,[{file,"minirest_handler.erl"},{line,152}]},{minirest_handler,handle,2,[{file,"minirest_handler.erl"},{line,56}]},{minirest_handler,init,2,[{file,"minirest_handler.erl"},{line,27}]},{cowboy_handler,execute,2,[{file,"cowboy_handler.erl"},{line,41}]},{cowboy_stream_h,execute,3,[{file,"cowboy_stream_h.erl"},{line,318}]},{cowboy_stream_h,request_process,3,[{file,"cowboy_stream_h.erl"},{line,302}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,241}]}]
from emqx.
Hi @jandillmann,
after switching from Retained messages on disk to RAM and back to disk the error message changed
I'm also curious why this happens.
- Could you please describe what steps did you perform to make a switch?
- Were there any warnings / errors in the EMQX service logs coinciding with this switch?
{file_error,"/opt/emqx/fs_emqx@mydomain_1_10195.1",eacces}
I suspect that this is an unintended consequence of 58d0f04. If so, forcing the container's workdir to /opt/emqx/data
instead supposedly might help.
from emqx.
Hi @keynslug,
In the dashboard, I went to "MQTT Settings" -> "Retainer", switched "Storage Method" from disc
to ram
, saved, and back. I did not see any error messages in the log when switching between ram and disc.
In the compose.yaml
, the volumes are configured as this:
volumes:
- "./emqx/data:/opt/emqx/data"
- "./emqx/log:/opt/emqx/log"
Could this be the issue, even if both directories and their sub-directories and files are owned by UID/GID 1000 and rwx
?
from emqx.
Could this be the issue, even if both directories and their sub-directories and files are owned by UID/GID 1000 and
rwx
?
No this should be fine I guess. It's the fact that /opt/emqx
is not writable by UID 1000 in the container file system anymore that (supposedly) causes these weird errors. That's why I think you might try setting working_dir: /opt/emqx/data
in compose.yaml
, so that those temporary files EMQX want to write from time to time will reside there instead.
from emqx.
Sadly this did not help. I set working_dir: /opt/emqx/data
in compose.yaml
and restarted the stack with docker compose down && docker compose up -d
, but the same error as in the original issue still shows.
from emqx.
Sadly this did not help.
Oh, that was unexpected. Thanks anyway for trying out and for the original report. Hopefully #12875 fixes this properly, which should land in the next release.
from emqx.
Related Issues (20)
- But I found that it was sent successfully, and I also subscribed to this topic. Should return 200 and messageid HOT 1
- Feature Request: Add exact_match Parameter to JWT ACL HOT 17
- The unit of max packet size is wrong
- Default Value of fail_if_no_peer_cert HOT 10
- Backup and Restore | Rule Configuration Missing
- Placeholders such as ${cert_subject} in JWT AuthN do not work HOT 4
- SSL listener's check for "CA Cert" HOT 5
- The statistics of disconnection reasons do not include malformed packets HOT 3
- Clearer disconnection reasons
- Add "topic_subscribe_filter" field to JWT ACL (or some acl behavior like this) HOT 21
- Add curl to docker image HOT 5
- 消息重传机制只会在重连的时候触发么 HOT 3
- api/v5/prometheus/stats not have erlang_vm_* 指标没了吗? HOT 3
- 延迟subscribe可能导致消息消费不到 HOT 6
- runq_overload alert on using MongoDB for authz/authn and also alert gets stuck for days sometimes HOT 9
- Helm Chart: MQTT ingress proxies HTTP to MQTT port HOT 4
- docker can't pull emqx:5.7.0 HOT 3
- Connect to ws emqx and the respons is 400 bad request HOT 1
- The client is powered off, but one month later EMQX still shows that the client is connected HOT 3
- bad_cert,hostname_check_failed HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emqx.