phpapiextbasetypo3-8.x

Typo3 8.7.32 - A column from custom extbase table gets partially "corrupted" once every so often, has anyone seem something similar?


I have developed an extbase plugin that import data from an external API into our website. The plugin depends on external_import, svconnector and svconnector_csv.

Everything works fine and it has been working for multiples months, but on rare occasion (once a month or less), data from a single column get transformed into random number but a few are fine. It's always the same column of the same table. I've looked it up and the numbers do not correspond to anything from the API.

There's no traces of these titles turnings to numbers in either sys_history, sys_log and tx_externalimport_domain_model_log but when I reimport the data from the api, I have history of them turning back to normal. Also, the tstamp isn't updated to when they turn to numbers (They weren't number yesterday (august 18) and 165694181 correspond to july 4).

If anyone has a clue on what could be happening, thank you!

Exported CSV of the title and timestamps:

title;tstamp;crdate
1024;1656941811;1647978601
10496;1656941811;1652189101
10752;1656941811;1652192701
11008;1656941811;1652192701
11264;1656941811;1647978301
11520;1656941811;1647979201
11776;1657138201;1652193601
12032;1656941811;1647875402
12288;1656941811;1652193001
12544;1656941811;1652193301
1280;1656941811;1652193001
12800;1656941811;1647875402
13056;1656941811;1652714101
13312;1660238401;1652714101
13568;1656941811;1652193301
13824;1656941811;1652193601
14080;1656941811;1652191202
14336;1656941811;1652191501
14592;1657640101;1652191501
14848;1656941811;1652191202
15104;1656941811;1647875402
1536;1658432401;1652193901
15360;1656941811;1652191202
15872;1656941811;1652193901
16128;1657131901;1656514801
16384;1657131901;1656513301
16640;1657224001;1652193901
16896;1656941811;1647875402
17152;1656941811;1652189101
17408;1656941811;1652192701
17664;1656651301;1647875402
1792;1656941811;1652193301
18176;1656514501;1652189401
18432;1656564901;1647879601
18688;1656941811;1647875402
18944;1656941811;1652192701
19200;1656941811;1652192701
19456;1656941811;1652712001
19712;1657303365;1652190901
19968;1656941811;1652190901
20224;1656941811;1652193901
2048;1656941811;1652191501
20480;1656941811;1652191501
20736;1656941811;1652189401
20992;1656941811;1652193001
21248;1656941811;1647875402
21504;1656941811;1652190002
21760;1656941811;1652191202
22016;1656941811;1647875402
22272;1656596101;1652193301
22528;1656941811;1647875402
22784;1656941811;1652193901
2304;1656941811;1652193001
23040;1658155201;1656527701
23296;1656941811;1652189401
23552;1656651301;1647875402
23808;1656651301;1647875402
2560;1656941811;1647875402
2816;1657223701;1652191501
3584;1656941811;1647875402
3840;1656941811;1652193301
4096;1656941811;1652193601
4352;1660238401;1647875402
4608;1656941811;1652193301
4864;1656941811;1652193601
512;1658513701;1650647701
5120;1656941811;1652193601
5376;1656941811;1652190002
5632;1656941811;1652191202
6144;1656941811;1647875402
6656;1656941811;1652191801
6912;1656941811;1652191801
7168;1656941811;1651082701
7424;1656941811;1652192401
768;1656592501;1652191501
7680;1656941811;1652191801
7936;1657303365;1652193301
8192;1656941811;1652193001
8448;1656941811;1645027443
8704;1656941811;1652125501
8960;1658344501;1647875402
9216;1656941811;1652192701
9472;1656941811;1647875402
9728;1656941811;1652191202
UNAFFECTED TITLE;1660833601;1652193301
UNAFFECTED TITLE;1660835701;1647875402
UNAFFECTED TITLE;1660836301;1647875402
UNAFFECTED TITLE;1660844401;1652193001
UNAFFECTED TITLE;1660837501;1652191501
UNAFFECTED TITLE;1660914001;1645027443
UNAFFECTED TITLE;1660832101;1660832101
UNAFFECTED TITLE;1660833601;1647875402
UNAFFECTED TITLE;1660848601;1647875402

Solution

  • You probably declared that column as sorting column in TCA with the option sortby.

    'ctrl' => [
        'sortby' => 'your_field',
    ],
    

    Normaly TYPO3 uses a field named sorting for this.

    Every now and then TYPO3 needs to reorder the records and therefore does a renumbering on the sorting column. Any previous information is gone and a new set of indexes is inserted (numbers with distances so new records can be inserted between).

    If you just want to show your data ordered by another field use the option default_sortby:

    'ctrl' => [
        'default_sortby' => 'your_field',
    ],
    

    and remove the value for sortby.

    See the Warning box after the Examples of default_sortby
    or the Attention box in sortby