Offene Work Areas - bei 2000 ist schluss (ADS 8)

Advantage Database Server

Moderator: Moderatoren

Antworten
sammler0002
UDF-Programmierer
UDF-Programmierer
Beiträge: 63
Registriert: Mi, 23. Dez 2015 22:46
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von sammler0002 »

Moin zusammen,

in Sachen ADS bin ich bei weitem kein Profi - so viel schon mal vorweg ...

Wir hatten heute den Vorfall, dass ein Programm ganz viele (ca. 1500-1700) Work Areas geöffnet hatte.

Mal abgesehen davon, dass dies ein Fehler im Programm ist ... Bei 2215 offenen Work Areas ist der ADS in die Knie gegangen und hat keine neuen Verbindungen mehr zugelassen. Max ist mit 9999 konfiguriert.

Wo liegt hier die Begrenzung? Ist es die Hardware die nicht mehr zulässt oder gibt es einen anderen Flaschenhals?

Oder sehe ich irgendwo den Wald vor lauter Bäumen nicht?
Grüße von Philipp
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von Marcus Herz »

Vielleicht ist der Speicher auf dem Server ausgegangen :-)
- Schau mal im ADSERROR.ADT nach, ob da was dirn steht?
- Hat sich der Dienst beendet?
- verwendet du die ADSDBE?
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von Jan »

Es gibt einen 11 (?) Jahre alten Bug in Xbase++. Jedes Öffnen einer dbf kostet 32 (?) Byte, die nicht wieder freigegeben werden. Aus genau dem Grund habe ich mir da abgewöhnt, die dbf nur da auf zu machen wo sie benötigt wird, und sofort hinterher wieder zu schließen. In 24/7-Programmen geht das einfach nicht beim ADS.

Leider hat Alaska anscheinend jedes Interesse an PDR beim ADS verloren. Wenn der so lange schon auf ist ...

Aber ob das wirklich der Grund ist? 2.215 * 32 ist ja nun nicht wirklich die Welt.

Jan
Zuletzt geändert von Jan am Di, 14. Jul 2020 15:07, insgesamt 1-mal geändert.
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von Jan »

Ich hab mal danach gesucht. PDR 5993. Sogar schon 13 Jahre alt.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von Marcus Herz »

Es wird auch für jede offene Tabelle ein Speicher auf dem Server reserviert, für Zustands Info der Tabelle, den Speicher meinte ich, und der ist bestimmt größer als 32bit.
Und ich hab nicht mal nehr die Hilfe zu Ads 8, dass ich nachlesen könnte....
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
sammler0002
UDF-Programmierer
UDF-Programmierer
Beiträge: 63
Registriert: Mi, 23. Dez 2015 22:46
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

Re: Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von sammler0002 »

Moin Macrus,


der Server hat 16 GB Arbeitsspeicher, im Normalbetrieb sind davon 4 GB noch frei. Eigentlich sollte das ja reichen, oder?

Der Dienst hat sich nicht beendet, nach dem beenden des Progarmms was den Fehler hat, haben sich die offenen Work Areas wieder normalisiert und man konnte weiter arbeiten.

ADSDBE wird verwendet.

In der ads_err.adt gibt es den Fehler: Error Class 0 und Error Code 24, den finde ich in der Hilfe nicht beschrieben. Weiß da jemand mehr zu?

Moin Jan, ich denke das wird es nicht sein, da es nicht am Client liegt sondern aus meiner Sicht am Server. Es haben mehrere Clients das Problem, wenn es auftritt. Das fehlerhafte Programm lauft aber auf keinem User-Client.
Grüße von Philipp
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von Marcus Herz »

Naja. ADS nimmt ja nicht den kompletten Speicher. Und wie das bei ADS 8 war, keine Ahnung. Vielleicht weiß das Joachim Nightcrawler noch.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von nightcrawler »

sry, hab ich auch wirklich nicht mehr. ADS 8 ist ja fast vom letzten Jahrtausend ;)
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Offene Work Areas - bei 2000 ist schluss (ADS 8)

Beitrag von nightcrawler »

sammler0002 hat geschrieben: Di, 14. Jul 2020 15:02 In der ads_err.adt gibt es den Fehler: Error Class 0 und Error Code 24, den finde ich in der Hilfe nicht beschrieben. Weiß da jemand mehr zu?
Klasse 0 idR Betriebssystem Fehler. Konsole öffnen:

Code: Alles auswählen

net helpmsg 24

Das Programm hat einen Befehl ausgegeben, aber die Befehlslänge ist falsch.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Antworten