Opened 4 hours ago

Last modified 3 hours ago

#1394 new дефект

Неконсистентность в БД: верный статус несоответствия изделия

Reported by: alx Owned by: Denis_N
Priority: critical Component: БД изделий АДС
Keywords: Cc:

Description (last modified by alx)

В БД изделий обнаружены неконсистентности: неверные аггрегированные статусы несоответствий изделий.

Например изделие S/N G05753 имеет запись в таблице products с mismatch='yes'. Однако согласно истории этого изделия (записям в таблице history), несоответствие данного изделия было устранено:

MariaDB [adcproducts]> SELECT N, type_write, status, comment, bond FROM history WHERE UID=22178;
+-------+------------+--------+--------------------------------------------+-------+
| N     | type_write | status | comment                                    | bond  |
+-------+------------+--------+--------------------------------------------+-------+
| 81147 | record     | NULL   |                                            |  NULL |
| 83376 | record     | NULL   |                                            |  NULL |
| 86828 | mismatch   | fail   | Нет линка на порту Ethernet                | 88396 |
| 88396 | mismatch   | ok     | Замена D17                                 | 86828 |
| 88397 | testing    | ok     |                                            |  NULL |
| 88619 | otk        | ok     |                                            |  NULL |
+-------+------------+--------+--------------------------------------------+-------+
6 rows in set (0.001 sec)

Это не единственный такой обнаруженный случай.

Предлагаю:

  • выяснить, каким образом в БД возникли данные неконсистентности и устранить причину;
  • исправить уже имеющиеся неконсистентности в БД (перегенеирровать значения поля mismatch таблицы products на основании записей таблицы history).

Change History (3)

comment:1 by alx, 4 hours ago

Description: modified (diff)

Исправил опечатки.

comment:2 by alx, 3 hours ago

Провел эксперимент: в историю платы S/N Б2084 (у которой не было несоответствий) внес тестовую запись о несоответствии. В результате поле mismatch этого изделия получило значение yes. Затем я внес запись об устранении этого несоответствия. Однако поле mismatch так и осталось в значении yes!!!

comment:3 by alx, 3 hours ago

Вернул полю mismatch значение "no" вручную...

Note: See TracTickets for help on using tickets.