checks the current binary logging format (binlog_format)
of the active MySQL session. If the format is currently
set to "mixed", it forces the session to change it to "STATEMENT".
If it is set to "row", it will bail out, if rat-o-mat HA
is enabled.
Change-Id: Icf1905eea701981d318ad5f17798ca7be605b8c0
we cannot enforce READ COMMITTED with statement-based repl,
as repl cannot lock lock transactions.
therefore 27d39e5 introduced "insert IGNORE contract_balances"
and a subsequent check for the number of modified rows, to
see if the B node added records.
there is a bug with that hwoever, since ->execute returns 0E0
if 0 rows affected, and the RESTART_BALANCE_CATCHUP is not
entered.
Change-Id: Ica862d2e15364e4d627b797cafa35f0be620bfeb
We need the latest ngcp-archive-keyring version, addressing the SHA-1
situation with our repository key. To get that, we refreshed our base
image sipwise-trixie, but need to ensure that we refresh all the docker
images building on top of it.
While at it, update the ENV syntax to avoid the deprecation warning.
Change-Id: Id4a048370260102400e7703addfa323ed7b761e6
- Update copyright years.
- Remove «Priority: optional» field, which is now the default.
- Wrap and sort fields.
- Add spaces around operators in make variables.
Change-Id: If80962670fa8effeac7393f47780b2f6521b92b0
to avoid rateomat exiting, we now skip a CDR if it fails to
acquire all involved contract row locks rather than bailing out.
Change-Id: Ibbe3b4e0c40008aa033673a7ef3fa98d54945417
- Update copyright years.
- Update Standards-Version to 4.7.2
- Remove Rules-Requires-Root now defaulting to «no».
- Remove ancient conffile removal handling.
Change-Id: I04479e01030c5501fc55b77a8eb4a94b705a1878
rate-o-mat multi-master mode requires statement-based
replication. it was however disarmed in the past.
Change-Id: I9896c380626640e27150e55c6eec3fbf39ceecdf
We have randomly failing tests (see e.g.
https://jenkins.mgm.sipwise.com/job/rate-o-mat-tests-docker/46684/testReport/):
| <init>.rateomat-10-prepaid-costs_t 0 ms 4
| rateomat-10-prepaid-costs_t.40 - source_customer_cost = 150.000000 0 ms 1
| rateomat-10-prepaid-costs_t.41 - rating_status = ok 0 ms 1
| rateomat-10-prepaid-costs_t.43 - prepaid cost record does not exist 0 ms 1
| rateomat-10-prepaid-costs_t.75 - rating_status = ok 0 ms 1
| rateomat-10-prepaid-costs_t.77 - source_customer_cost = 150.000000 0 ms 1
| rateomat-10-prepaid-costs_t.78 - rating_status = ok 0 ms 1
| rateomat-10-prepaid-costs_t.80 - prepaid cost record does not exist 0 ms 1
| rateomat-10-prepaid-costs_t.73 - source_customer_cost = 150.000000 0 ms 2
| rateomat-10-prepaid-costs_t.76 - prepaid cost record does not exist 0 ms 3
| rateomat-10-prepaid-costs_t.52 - cdrs were all processed 0 ms 4
| rateomat-10-prepaid-costs_t.81 - cdrs were all processed 0 ms 4
This seems to be caused by timing issues on our build infrastructure,
being caused by rateomat getting stopped before it finished
processing. Give the prepaid-costs tests some further time to finish,
at least until we have a better way to handle this situation.
Change-Id: I0320f10a0814e1d51732264ddb6f9940c40ae4b9
when repl is stuck (for whatever reason), each rate-o-mat
instance basically should proceed processing it's local
CDRs.
we observed it stalls though in that case.
the reason is because currently nodeA rate-o-mat is doing
even cdr IDs and nodeB is doing odd cdr IDs.
it has to be vice versa for the current offset configuration
in my.cnf. we might want to read the offset configuration
directly from the .cnf in a next step.
Change-Id: I0d6bafbd33f0d3370393a8cf1a763a7963bc017f
replication can nowadays fail with inserting regular autoinc
id when replicating.
until this can be solved, we provide an option to switch
back to rate-o-mat running on the active node only.
Change-Id: I843899d4ffa0b89e41868673b90b7b0a9c14ef90
IODKU statements can fail for master-master replication.
switching to 'STATEMENT' binlog_format to mitigate.
Change-Id: I5e7d2438c6338e6cc7b17bf9c51a8a4712f72454
This prevents log messages from being buffered if
output goes to a pipe (i.e. consumed by journald).
Without autoflush, STDOUT logs are buffered due to
journald which is buffering Perl STDOUT by default.
In the same time STDERR logs are flushed immediately
by Perl which is confusing as log lines are mixed.
Change-Id: I5a2d07285a99c5628ae69b87014d9919433f816d
Normally duplication DB credentials are missing on NGCP,
generating warning here for no reason confuses newbies
and produce proubles with tracing as warnings are printed
immediately, while infos is cached.
Change-Id: I1b29c62566f162d797321f08a1773f7e52f61ef0