I am trying to migrate my symfony app on Redis Cluster. I created a cluster on a machine for testing purposes and connected to it.
Now everything works but when I try to clear cache for a specific pool I randomly get this error.
Failed to clear the cache: Unable to send INFO command to specific node
I am not familiar with Redis Cluster so I don't really know what to try. When I run
php bin/console cache:pool:clear my_pool
sometimes will work and sometimes won't.
Related
I did a fresh install of Maxscale, and I was trying to set up a Read-Write-Split service on a master-slave mariadb cluster.
When I was trying to connect with DataGrip or DBeaver, I got the following error message:
[HY000][1927] Capability mismatch (bdd-master)
But when I use the mysql command line client, it works well.
Do you have any idea of what could be wrong?
MaxScale sends a Capability mismatch error when it detects that the client application requests a protocol capability that one of the backend databases cannot support. In general, this should not happen as MaxScale tries to mimic the backend database and calculates the capabilities so that these sort of mismatches do not happen.
There are some known bugs that can cause this, both in MaxScale as well as old versions of MariaDB and MySQL. Upgrading to the latest possible version of MaxScale should help solve any problems you might see.
Additionally, you should disable the query cache in the database if you are using MySQL as there is a bug in MySQL (and old MariaDB versions as well) that causes these sort of problems to appear.
It seems that is related to the router used (readwritesplit).
Datagrip send this command when it initiate the connection:
set autocommit=1, session_track_schema=1, sql_mode = concat(##sql_mode,',STRICT_TRANS_TABLES')
It seems that some of theses parameters are not supported by readwritesplit.
I am running Airflow with backend mariaDB and periodically when a DAG task is being scheduled, I noticed the following error in airflow worker
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2006, 'MySQL server has gone away').
I am not sure if the issue occurres due to misconfiguration of airflow, or it has to do that the backend is mariaDB, which as I saw it is not a recommended database.
Also, in mariaDB logs, I see the following warning repeating almost every minute
[Warning] Aborted connection 305627 to db: 'airflow' user: 'airflow' host: 'hostname' (Got an error reading communication packets)
I've seen some similar issues mentioned, but whatever I tried so far it didn't help.
The question is, Should I change database to MySQL? Or some configuration has to be done in mariaDB's end?
Airflow v2.0.1
MariaDB 10.5.5
SQLAlchemy 1.3.23
Hard to say - you need to look for the reason why your DB connection get aborted. MariaDB for quick testing with single scheduler might work, but there is some reason why your connection to the DB gets disconnected.
There are few things you can do:
airflow has db check command line command and you can run it to test if the DB configuration is working - maybe the errors that you will see will be obious when you try
airflow also has another useful command db shell - it will allow you to connect to the DB and run sql queries for example. This migh tell you if your connection is "stable". You can connect and run some queries and see if your connection is not interrupted in the meantime
You can see at more logs and your network connectivity to see if you have problems
finally check if you have enough resources to run airflow + DB. Ofthen things like that happen when you do not have enough memory for example. Airflow + DB requires at least 4GB RAM minimum from the experience (depends on the DB configuration) and if you are on Mac or Windows and using Docker, Docker VM by default has less memory than that available and you need to increase it.
look at other resources - disk space, memory, number of connections, etc. all can be your problem.
My environment is RHEL VM, Python 3.6, Postgres DB on AWS RDS.
I am a newbie starting to learn usage of Airflow.
I followed guidance from: https://medium.com/#klogic/introduction-of-airflow-tool-for-create-etl-pipeline-dc37ad049211
At airflow init db stage, I created a new admin user using command: FLASK_APP=airflow.www.app flask fab create-admin
Next step is, airflow webserver -p 8080 but it's not working. The error it shows is:
From where are these 4 workers coming from? How to resolve this issue? I checked my postgres database and there are new tables added namely - 'job', 'dag' and 'dag_pickle'
Thanks.
Check memory available for your VM. Airflow starts 4 workers by default and they are pretty memory hungry (depends on your configuration). Increasing memory should help
I have spring boot application with /health endpoint accessible deployed in AWS ECS Fargate. Sometimes the container is stopped with Task failed container health checks message. Sometimes happens once daily, sometimes once a week, maybe depends on the load. This is the healthcheck command specified in the Task Definition:
CMD-SHELL,curl -f http://localhost/actuator/health || exit 1
My question is how to troubleshoot what AWS receive when health-check is failed.
In case anyone else lands here because of failing container health checks (not the same as ELB health checks), AWS provides some basic advice:
Check that the command works from inside the container. In my case I had not installed curl in the container image, but when I tested it from outside the container it worked fine, which fooled me into thinking it was working.
Check the task logs in CloudWatch
If the checks are only failing sometimes (especially under load), you can try increasing the timeout, but also check the task metrics (memory and CPU usage). Garbage collection can cause the task to pause, and if all the vCPUs are busy handling other requests, the health check may be delayed, so you may need to allocate more memory and/or vCPUs to the task.
Thank #John Velonis,
I don't have enough reputation for commenting on your answer, so I post that in a different answer
For my case, the ecs container keeps getting UNKNOWN status from the ecs cluster. But I can access the healthcheck successfully. when I read this post, and check my base image which is node:14.19.1-alpine3.14, it doesn't have curl command.
so I have to install that in the Dockerfile
RUN apk --no-cache add curl
I installed openstack devstack on ubuntu 18.04
when I login to horizon. it logs in.
when I try to check status of all services. Services are not found.
So when I execute service cinder-api status it gives me Unit cinder-api.service could not be found. (Same for all services. Installation was successful. although it was interrupted due to network. But is that issue with this (But horizon dashboard opens))
What is wrong with this. As because of this I am not able to create volumes (I guess).
Reason for the message:
The services of the projects are down. For example - n-api, c-api, c-sch..... To rectify it, manually trigger the services using command prompt or Run unstack.sh and again clean.sh and then stack.sh, this will create a new openstack.
Note: While using devstack one important thing need to be taken care is "Never shutdown the machine. If it is shutdown all the services goes down."