Coder Social home page Coder Social logo

Comments (10)

paul53 avatar paul53 commented on July 24, 2024

Hinweis: aggregate.js: Zeilen 414, 449

from iobroker.history.

Apollon77 avatar Apollon77 commented on July 24, 2024

Ja, und? ;-). Alles zurückzugeben ist keine echte Option weil dann RAM und io explodiert. Oder soll es nur dokumentiert werden?

from iobroker.history.

Hans-Zwiesel avatar Hans-Zwiesel commented on July 24, 2024

Es sollte zumindest ein Fehler ausgelöst werden wenn so eine Funktion auf Anschlag ist und
Anwender dann ohne Warnung mit falschen Daten weiterarbeiten.

from iobroker.history.

Apollon77 avatar Apollon77 commented on July 24, 2024

Was meinst Du? Wegen RAM? Das kann der Adapter wirklich nicht erkennen ... Du musst bei deinem System sicherstellen das Du für das was Du tust genug Reserven hast (ist ja nicht nur RAM ... ist ja auch IO auf der SD Karte oder oder oder

from iobroker.history.

Hans-Zwiesel avatar Hans-Zwiesel commented on July 24, 2024

Ich habe die Begrenzung auf 500 Datensätze als Anschlag gemeint, das ist ja offensichtlich so programmiert.
RAM und IO hätte ich noch genügend.

Übrigens ist mir aufgefallen, als ich einigemale das Script laufen ließ (das mit getHistory), dass meine MQTT-Client Überwachung auf allen Clients ausgelöst hatte (bei den Clients kam der MQTT HeartBeat nicht mehr an) und danach hatte ich wieder so einen MQTT Eintrag bei den Objekten, der nicht gelöscht werden kann.
Damit sind ja schon viele Anwender geplagt.
Ich kann aber nicht sicherstellen, dass das ursächlich war, ist aber zeitlich schon auffällig, weil sonst wirklich nichts ungewöhnliches vorgekommen ist.

from iobroker.history.

Apollon77 avatar Apollon77 commented on July 24, 2024

Die Begrenzung ist nur zum selbstschutz der Anwender da wenn Sie die Abfrage "falsch bedienen". Jeder der einen count Wert übergibt weiss hoffentlich was er tut.

Zu dem anderen eiss ich nicht was genau du mit einem "MQTT eintrag der nicht gelöscht werden kann" meisnst - wäre aber denke eher ein MQTT issue. Was passiert wenn du mehrere gethistory Anfragen parallel schickst ist das jede davon selbst die Daten raussucht. Das frisst CPU und IO (bei history weilalles aus den Files gekratzt wird). Warum dann MQTT (also Netzwerk) Probleme macht liegt ggf an der Hardware oder Last oder RM (und damit Swapping) oder sowas-. Müsste man exakt mit einem "top" mal checken wenn man sowas macht

from iobroker.history.

Hans-Zwiesel avatar Hans-Zwiesel commented on July 24, 2024

Also, mir hat die Abfrage der paul53 geschickt und ich meine, der kennt sich schon aus. Wenn der schon die Abfrage "falsch bedient", was machen dann normale User?
Woher soll ein User wissen, wieviele Treffer die Abfrage bringt?

Wegen der MQTT Einträge, die nicht gelöscht werden können:
Wie geschrieben, ist mir nur der zeitliche Zusammenhang aufgefallen.
z.B.: https://forum.iobroker.net/topic/16193/kann-im-mqtt-objekte-nicht-l%C3%B6schen ff.

Ich würde ja diese gethistory Abfrage entfernen, wenn kein stabile und sichere Vorgehensweise möglich ist.
Eine kleine Anekdote aus früheren Tagen:
In unserem Betrieb hat einmal ein Jung-Programmierer den Auftrag erhalten, eine bestehende Kundenverwaltung von
8-Bit TurboDOS Multiuser auf 16Bit MSDOS Netzwerk mit mySQL Datenbank Server zu bringen.
Dabei hat er einen Kunden mit Select * from all gesucht.
Mit seinen 10 Testkunden ist das ja nicht aufgefallen. Aber als dann der echte Kundenstamm mit 250000 Einträgen
scharf war, dann hat er sich gewundert, wieso diese alten 8-Bit Systeme nur 0,1 Sec. benötigen um einen Kunden zu finden
und die neuen 16-Bit über mySQL 5 Minuten.
Ich werde das nie vergessen und hoffe, Du weist was ich meine.

from iobroker.history.

paul53 avatar paul53 commented on July 24, 2024

@Hans-Zwiesel: Wenn etwas nicht dokumentiert ist, halten sich auch meine Kenntnisse in Grenzen. Erst nachdem die Begrenzung auf 500 Zustände aufgefallen ist, habe ich in den Quell-Code geschaut.

from iobroker.history.

Hans-Zwiesel avatar Hans-Zwiesel commented on July 24, 2024

@paul53: Mir ist die Begrenzung auch aufgefallen, danach habe ich diese Funktion verbannt und auf SQL Abfrage umgestellt.
Für den Quell-Code reichen meine Kenntnisse leider nicht. Möglicherweise weiß ich oft nicht was ich tue. :-)

from iobroker.history.

Apollon77 avatar Apollon77 commented on July 24, 2024

Ich würde ja diese gethistory Abfrage entfernen, wenn kein stabile und sichere Vorgehensweise möglich ist.

Ich verstehe das Problem noch nicht. Es ist ein Default eingebaut wenn ein Parameter nicht angegeben ist. Das ist normal weil "unlimitiert" nie eine gute Idee ist. Ich habe die Readme aktualisiert

from iobroker.history.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.