Answers:
In general, the problem is basically obvious.
This happens when mysql doesn't have time to process queries quickly and locks tables, at these moments it gives a DEADLOCK error or something similar to has gone away . And some of the data (like the status transition history) may simply not be inserted into the database.
solved in 2 ways
1) increase server power
2) enable MYSQL safe mode, which will give you an error on the screen if any of the tables it needs is locked
at the moment I have included point 2 for you
02.10.2020, 17:16
Original comment available on version: ru
1. What specifically needs to be upgraded on the server (RAM, processor)?
2. Do I have some complex business processes (transfer subtasks to the required statuses and send the status to the socket for subtasks) that the server cannot work them out to the end?
3. Why was there not enough power to write off the goods, but enough to transfer them to the finishing status, despite the fact that this is the last thing the system should do?
4. Why did a problem arise for a process that had 3 subprocesses, but did not previously arise for a process that had 14 subprocesses?
02.10.2020, 18:56
Original comment available on version: ru
1. I do not do free analytics of your server to answer this question
2. No, I don't think so
3. The table could be locked by another process (in the background, for example, by cron)
4. No difference how many subprocesses
05.10.2020, 09:15
Original comment available on version: ru
If so, then this is very similar to a bug, as for me, if there are procedures in the system that block records or completely tables, then other procedures must first clarify before the update whether the record or table is locked and after that carry out their work (while also blocking record or table)
And here you exit so that there is a piece of code, you need to update something in it, the procedure was refused by the database, and then, well, okay, I’ll go further, transfer it to the status completed, I don’t care that the database gave a refusal, my task is to go to the status completed
As far as I remember, you did not use the blocking principle anywhere, you wrote something like the code "who is the last one and slippers."
Or am I not reasoning correctly and did not understand you correctly (it's just that now I have a bug hanging out the status of the story is one, in reality it's different and who will fix it is not clear to me)?
05.10.2020, 10:54
Original comment available on version: ru
Igor, I’m also not ready to study, I don’t need it at the moment, I need the system to work stably, while things arise that frighten and defy any adequate logic (the base leaves lives its own life, the manager who presses the button in another comes out of reality ).
While it’s not clear to me what the problem is, initially you said that the server, now the table is locked (as for me these are unrelated things, globally)
Can you specifically tell me that you have a problem in this task with table locking, in order to solve this problem you need .... or that you have a bad server, little RAM (I will test the server and try to get this error again and then I will write to the hoster, so that I would test increase the parameters that are not enough, like the last time you said that you need to add RAM)?
05.10.2020, 11:14
Original comment available on version: ru
Link what I wrote and answer your question
Any transaction in the database locks the table, and the lock period depends on the power of the server, the more powerful it is, the faster it will perform the operation and unlock the table, and the chance to get to LOCK will be less.
That's clearer?
05.10.2020, 11:32
Original comment available on version: ru
I understand perfectly well that the lock check is a piece of code
I participated in software development where a lot of attention was paid to this, and therefore I was surprised why it does not work in OneBox, I also understood that it reduces processing speed and is not critical, despite the fact that there is logging of actions (since this is not quite an accounting system, in accounting it is more critical)
In general, I understand correctly that the fact that the product was not written off, but transferred to the status on which it should be written off is purely my problem (or business process or server settings)?
05.10.2020, 16:55
Original comment available on version: ru
Understand how you want - I'm not going to mess with you like a child, and others too
I wrote to you in the 1st comment what has been done to solve the problem and what will happen
the rest is purely your curiosity that takes up my time
05.10.2020, 23:58
Original comment available on version: ru
This "handbrake" comes out so that I can do this, I need to disable actions, etc.
Plus, I'm not sure that this is such a problem in one process.
Okay, I'll do it, but it seems to me that you should have done it, as a consequence of a bug
18.10.2020, 22:23
Original comment available on version: ru
Please join the conversation. If you have something to say - please write a comment. You will need a mobile phone and an SMS code for identification to enter.
Log in and comment