Subject: Status på NAS test
From: Jonas Pedersen <[email-masked]>
To: Signe Zacchi Rindholt <[email-masked]>, Henrik Buch-Larsen <[email-masked]>, Mads Haargaard <[email-masked]>, Søren Schmidt <[email-masked]>
Cc: Peter Lundkvist <[email-masked]>, Jacob Qvortrup <[email-masked]>
Date: Wed, 11 Sep 2019 16:36:14 +0200

Hej alle

Vi har nu brugt en god del af dagen på at lokalisere fejlen i
verifikationstesten. Det er lykkedes mig at genskabe problemet på min egen
PC og det skyldes den måde Kafka virker på.

Med hjælp fra Arosii og Netic har jeg også fået ændret konfigurationen af
NAS2 i test1 miljøet og det ser nu ud til at jeg har fået alle beskeder ud.
Det er dog noget jeg skal teste lidt mere da det først er her i eftermiddag
at jeg har fået ændret konfigurationen.

Problemet skyldes den måde Kafka virker på. NAS var konfigureret til at
have en timeout på 0,01 sekunder når data læses fra Kafka. Dette betyder at
der kun returneres data hvis Kafka klient biblioteket allerede har læst og
buffered data fra serveren. Helt konkret er det poll(timeout) metoden der
kaldes med 0,01 som timeout. En meget lav værdi ser ud til at virke på
samme måde som hvis der er kaldt med et timeout på 0, da klientbiblioteket
ikke kan nå at læse data fra Kafka før timeout er nået. Det er også sådan
dokumentationen den beskriver at det virker. På nedenstående 2 links kan
man læse lidt mere om det hvis man ønsker.
https://kafka.apache.org/11/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html#poll-long-
https://issues.apache.org/jira/browse/KAFKA-3044

Baseret på ovenstående er NAS2 i TEST1 miljøet i øjeblikket konfigureret
til at have en timeout på 1 sekund mod Kafka.

Jeg har snakket med Henrik og vi var enige om at vi skal gennemføre
performance test som planlagt. Jeg vil dog bruge de næste par dage på at
teste yderlige og komme med en optimal værdi i forhold til timeout mod
Kafka da dette også skal sættes op i staging miljøet hvor performance
testen den skal afvikles. Det vil selvsagt give en højere svartid, men det
er sandsynligvis OK. Det er jo blandt andet det performance testen vil
vise.

Udover det vil vi forsøge at komme med et oplæg til hvordan man evt. kunne
performance optimere løsningen på det her punkt. Så kan vi afveje om den
øgede kompleksitet er det værd i forhold til at få performance ned.

Jacob, det kan være jeg lige giver dig et kald en af de næste par dage i
forhold til sparing og evt. løsningsforslag.

-- 
Jonas Pedersen
Tlf: 27 15 29 45
KvalitetsIT