Autor Thema: Öffnen einer Datenbank über die ReplikID  (Gelesen 3797 mal)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Öffnen einer Datenbank über die ReplikID
« am: 15.02.18 - 10:16:32 »
Wir haben ein merkwürdiges Phänomen, das ich eher unter Administration als Entwicklung sehe, deshalb mein Eintrag hier.

Für eine Web-Lösung übergeben wir eine ReplikID und eine UniversalID an eine REST-Schnittstelle. Die REST-Schnittstelle öffnet die Datenbank sinngemäß mit NotesDatabase.OpenByReplicaID und dann das Dokument. Die REST-Schnittstelle ist in Java geschrieben.

Grundsätzlich funktioniert das, nur bei einer Datenbank will es nicht, die Datenbank kann nicht geöffnet werden.

Was haben wir probiert?

Von der betroffenen Datenbank wurde eine Kopie erstellt -> Auch mit der Kopie geht es nicht

In der Kopie wurden alle Dokumente gelöscht, bis auf das eine relevante (zu dem Zeitpunkt war noch nicht klar, dass das Öffnen der Datenbank nicht gelingt, bei Übergabe eine willkürlichen falschen ReplikID erhalten wir die gleiche Fehlermeldung,  daher gehen wir davon aus, dass die DB nicht geöffnet werden kann) -> keine Änderung

Die ACL wurde komplett geleert, Default = Manager, Anonymous = Manager, Max. Internetnamens- und Kennwortzugriff = Editor -> keine Änderung

Es gibt ein Leserfeld in dem Dokument, Inhalt "*", dieses Feld wurde gelöscht (falls es doch an dem Dokument liegt) -> keine Änderung

Und jetzt kommt das Merkwürdigste:

Die Kopie der Datenbank wurde von Testserver 1 auf Testserver 2 kopiert -> Auf diesem Server funktioniert es!

Diese Kopie der DB des Testservers 2 wurde nun genau so wieder auf den Testserver 1 kopiert -> Geht wieder nicht

Per Lotusscript kann die Datenbank über die ReplikID und darin das Dokument über die UniversalID problemlos geöffnet werden, auch von einem Agenten, der auf dem Server läuft.


Hat irgendjemand einen Denkanstoß, wo wir noch suchen könnten? Was kann einen Server dazu veranlassen, eine Datenbank nicht über die ReplikID zu finden? Und witzigerweise gleiches Verhalten bei Kopien der Datenbank, aber nicht bei anderen Datenbanken?

Catalog.nsf enthält die Datenbanken mit korrekter ReplikID, Server wurde auch schon neu gestartet.

Vielen Dank für jede Rückmeldung
« Letzte Änderung: 15.02.18 - 14:31:08 von Peter Klett »

Offline Pyewacket

  • Senior Mitglied
  • ****
  • Beiträge: 308
  • Geschlecht: Männlich
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #1 am: 15.02.18 - 10:44:33 »
Wie habt ihr die Kopie auf dem zweiten Server erzeugt, das File rüberkopiert
oder mit dem Client eine Kopie angelegt?
ATOS.org - Feel the music!

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #2 am: 15.02.18 - 10:51:26 »
Per Client eine Kopie auf dem Testserver 2 erstellt, beim Zurückkopieren davon eine Replik auf lokal und dann über Betriebssystem auf Testserver 1 (sind verschiedene Systeme, über die wir nur mit verschiedenen Clients zugreifen können)

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #3 am: 15.02.18 - 11:06:06 »
Gibt es den Repliek vielleicht 2 mal auf server 1 ?

Was eigentlich mit den neue Repliek vom Kopie erstellen jedenfalls nicht mehr sein dürfte.

Gibt es ein DatabasePostOpen Event ?
« Letzte Änderung: 15.02.18 - 11:07:53 von ronka »
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #4 am: 15.02.18 - 12:08:23 »
Eine doppelte Replik schließe ich aus, gerade auch durch das Neuerstellen von Kopien der Datenbank.

Es gibt im Datenbankscript Code im PostOpen, das ist identisch mit anderen Datenbanken, bei denen es funktioniert. 

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #5 am: 15.02.18 - 13:11:49 »
Moin

Sicherheitseinstellungen auf dem Server? Darf der Signer auf Testserver 1 nicht das gleiche wie auf dem Testserver 2 ?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #6 am: 15.02.18 - 13:35:47 »
Das kann sein, dass Sicherheitseinstellungen nicht ganz identisch sind, aber dann dürfte es bei keiner Datenbank funktionieren, und ncht nur bei einer, oder? Server 2 ist definitiv offener als Server 1.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #7 am: 15.02.18 - 13:54:17 »
Vielleicht so: Eine neue, leere DB erstellen - testen, und dann die Designelemente der DB kopieren ;)
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #8 am: 15.02.18 - 14:02:09 »
Ja, haben wir sinngemäß gerade so getan. Neue Datenbank erstellt mit der Schablone der nicht funktionierenden. Dort ein Dokument hineinkopiert -> funktioniert nicht

Danach die Schablone gewechselt auf eine der Datenbanken, die funktionieren -> keine Änderung

Als nächstes werden wir eine komplett neue Datenbank erstellen, ohne Schablone.

Ich will aber nicht glauben, dass es etwas mit dem Design der Datenbank zu tun hat. Es geht ja um ein NotesDatabase.OpenByReplicaID, das außerhalb der Datenbank ausgeführt wird, da dürfte doch kein Design der zu öffnenden Datenbank hineinspielen ... Und LotusScript kann es, Java nicht. Mir geht allmählich die Phantasie aus

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #9 am: 15.02.18 - 14:05:12 »
Habt ihr mal versucht das Szenario mit Java nachzustellen?
Den eigentlichen Java-Code der das macht, den habt ihr nicht, oder?
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Öffnen einer Datenbank über die ReplikID
« Antwort #10 am: 15.02.18 - 14:30:51 »
Danke allen Mitdenkern!

Fehlerquelle ist gefunden und hat (natürlich) nichts mit Notes zu tun. Ich war sicher, dass ich das eindeutig getestet hatte, dem ist aber nicht so.

Die Software, die die ReplikID von Notes erhält und an die REST-Schnittstelle weitergeben soll, gibt stattdessen die ReplikID der gerade geöffneten Datenbank weiter. Somit stimmt auch die Fehlermeldung, dass das Dokument nicht gefunden wurde (invalid universalid, hatte ich bisher nicht erwähnt). Ein Gegentest mit einer völlig falschen ReplikID öffnete gerade das gewünschte Dokument in der aktuellen Datenbank.

Obwohl angeblich an dieser Stelle nichts geändert wurde, hat Testserver 2 einen aktuelleren Stand dieser Software, und dort ist es wohl (versehentlich oder zumindest nicht dokumentiert) korrigiert worden, deshalb funktioniert das dort.

Wie gut, dass meine Haare nicht grauer werden können ...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz