/ / Použitím KafkaSpout, dvojnásobná dvojka spôsobí časové limity? - Apache-búrka

Použitie KafkaSpout spôsobuje dvojnásobok netypov časový limit? - apache-storm

Moja topológia používa predvolené nastavenie KafkaSpout implementácie. V niektorých veľmi kontrolovaných testoch som si všimol, že výtok zlyhal, aj keď žiadna z mojich skrutiek nezlyhala žiadne triky a ja som si bola istá, že všetky správy boli plne spracované v rámci nastaveného časového limitu.

Tiež som si všimol, že (kvôli nejakej štruktúre podtried s mojimi skrutkami), jeden z mojich skrutiek bol dvojnásobný. Keď som to opravil, výtok prestal zlyhávať n-tice.

Je nám ľúto, že je to viac ako kontrola zdravého rozumuotázka, ale dáva to zmysel? Nevidím, prečo by dvojnásobná inštancia dvakrát spôsobila, že Spout zaregistruje časové limity, ale zdá sa, že to bolo v mojom prípade?

odpovede:

5 pre odpoveď č. 1

To dáva zmysel.

Storm sleduje všetky kamene (priame anepriamo) pre n-ticu emitovanú výtokom podivným, ale účinným spôsobom. "Nie som si istý presným algoritmom, ale znamená to opakovane XOR," čo bolo pôvodne ID s nulovým číslom, ktoré bolo pôvodne vyžarované, s ID "s nasledujúcimi ukotvenými n-ticami". každý z týchto nasledujúcich ID je dvakrát XOR "ed - raz, keď je n-tica ukotvená a raz, keď je n-tica ohnutá." Keď sú výsledky XOR nulové, potom sa predpokladá, že každá kotva bola uzavretá ackom a pôvodná n-tica s výtokom bola ukončená.

Tým, že ste niektorými n-ticami viac ako jeden krát urobili, zdalo sa, že niektoré z n-tiek, ktoré boli vyžarované, neboli dokončené úplne (pretože nepárne číslo XOR sa nikdy nulovalo).