yuuvis® RAD Q&A

+1 vote
by (2.1k points)
retagged by

Hello,

I frequently run into the problem that the structure tree is not shown anymore. Addiontially (when this happens) I can not create any documents, when I am on an object where I usually should be able to. Similar to how when a user, who does not have the rights to create, would try to create a document.

This only happens after commiting changes with the designer. I have no idea how to reproduce this, so I usually just delete my whole machine to fix this.

What am I doing wrong?

Thanks

6 Answers

+1 vote
by (2.1k points)
 
Best answer

So the problem seems to be appearing when we are importing our schema from another machine into the local designer (presumably when we have DB Changes.)

We have defined a workflow that seems to be resolving this issue, but it is fairly complicated.

  1. Create an empty schema
  2. Delete all objects/dokuments in enaio to avoid elastic search conflicts
  3. Deploy the empty schema
  4. Delete all database tables named dms*
  5. Check in the management studio, if enaio registered the DB Changes (I have made better expierences with logging out and in again rather than refreshing the page)
  6. Import a snapshot of the machine you want to import
  7. Deploy it
  8. Restart Services

Maybe this helps someone. If anyone has any idea on how to optimize this process, I'd love to get some input.

+1 vote
by (19.6k points)

Hello Peter,

please tell me some more info:
- which Version of enaio are you using?
- When the structure tree is not shown anymore, press F12 in the browser and see if the console tab contains any error stack-traces. Also please check if the services.log file contains any error-messages related to this.

Thanks
Nicolai

+1 vote
by (2.7k points)

This could happen, if there's a syntax error in your structure-json

Do you already know the new testing tool for the structure service:
https://developer.enaio.org/display/DD/Structure Service Testing Tool

Please try testing your json with it.

+1 vote
by (18.5k points)

Hi Peter,

currently the structure service has to be restarted after a schema change. With version 4.6, which will be presumably released at 2018/08/31 the structure service will get a message for reloading the schema definition.

To restart the structure service: open the task manager, go to details, search for structure-service.exe and end the task. Within a second the watcher service will restart the structure service. Then reload the client and the structure service will be back.

0 votes
by (2.1k points)
  • which Version of enaio are you using?

I am using 4.3 currently, but the problem also ocurred in 4.2.

When the structure tree is not shown anymore, press F12 in the
browser and see if the console tab contains any error stack-traces.
Also please check if the services.log file contains any error-messages
related to this.

There are no errors in either of those.

But I compared the HTTP requests with a working version and found that there is a POST request with a contextview file, which seems to be the reponsible for the structure tree.

On the working copy two of those requests where sent. On the broken one only one of those shows in the logs.

This is the answer that gets sent:

{"total":0,"folder":[{"key":"Types","count":0,"expanded":true,"title":"Alle Objekte"},{"key":"ModifiedByMe","count":0,"title":"Von mir bearbeitet"},{"key":"Modifier","count":0,"title":"Bearbeiter"},{"key":"ModifiedRange","count":0,"title":"Bearbeitungszeitraum"}]}

This could happen, if there's a syntax error in your structure-json

Do you already know the new testing tool for the structure service:
https://developer.enaio.org/display/DD/Structure Service Testing Tool

Please try testing your json with it.

My json is empty, but there is indeed a syntax error indicated by a red "~". Is that a Problem?

by (19.6k points)
Do you maybe have a single space character in the structure-definition textbox (in the designer)?
0 votes
by (2.1k points)

I did find some errors in a log file.

11:21:08.718 ERROR Failed to create search context.{"code":"ENOTFOUND","errno":"ENOTFOUND","syscall":"getaddrinfo","hostname":"win-943umvfccus.localdomain","host":"win-943umvfccus.localdomain","port":"7301"} 
11:21:08.718 ERROR A request error occured: "getaddrinfo ENOTFOUND win-943umvfccus.localdomain win-943umvfccus.localdomain:7301"
Trace : Error: getaddrinfo ENOTFOUND win-943umvfccus.localdomain win-943umvfccus.localdomain:7301
    at errnoException (dns.js:50:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26) 
11:21:24.578 ERROR Error during health for component dms : Error: getaddrinfo ENOTFOUND win-943umvfccus.localdomain win-943umvfccus.localdomain:7301 
11:21:44.531 ERROR Error during health for component dms : Error: getaddrinfo ENOTFOUND win-943umvfccus.localdomain win-943umvfccus.localdomain:7301 
11:22:04.538 ERROR Error during health for component dms : Error: getaddrinfo ENOTFOUND win-943umvfccus.localdomain win-943umvfccus.localdomain:7301 
11:22:24.554 ERROR Error during health for component dms : Error: getaddrinfo 
by (2.1k points)
We have a customer, that has some adressinfo in a list, maybe that is causing problems?

Most of the time the service is working though so I would be suprised if thats an issue.
by (19.6k points)
No I don't think the adressinfo is the problem. According to the log-lines the structure-service cannot connect to the dms-service because the hostname win-943umvfccus.localdomain can either not be resolved to an ip-address or it cannot find the dms-service there
by (19.6k points)
Sorry, I think it is the dms-sidecar-service it is looking for - and that is maybe down?
by (2.1k points)
You seem to be on the right track here. The structure service can not find the DMS Service in the Eureka registry.

There is also this connection refused error, that I just found, which seems to be the core of the problem:

ERROR Error during health for component dms : Error: connect ECONNREFUSED 192.168.174.135:7301
by (19.6k points)
Yes, port 7301 is the dms-sidecar. Make sure the dms-service and the dms-sidecar service are running and the connection from dms-sidecar to the dms-service can be established. Check the file <service-manager>\config\application-red.yml to make sure connection parameters are correct. Maybe try the IP address instead of the hostname to exclude dns problems and check that firewalls are off (or have exclusions)
by (19.6k points)
One more hint: If you added roles or objecttypes, restart the entire service-manager service once to make sure the changes are taken over.
by (2.1k points)
Yes the DNS Service is up and the structure Service even identifies it as up.

See: http://prntscr.com/kfp8bl

application-red.yml looks OK, but I have tried different versions (localhost/IP), neither did work.

"the connection from dms-sidecar to the dms-service can be established." How would I check that? This is how my DMS Service looks: http://prntscr.com/kfp9cq

I also have tried restarting.

In the dns-services.log just after restarting everything it says:

"2018-08-07 12:52:21,292 ERROR [com.os.ecm.workflow.services.connector.MessageQueueConnector] (Thread-157) Connect to localhost:7301 [localhost/127.0.0.1] failed: Connection refused: connect"

The user credentials in application-red.yml look OK to me (even though that should be deprecated anyway):

enaio.dms.username: root
enaio.dms.password: optimal
enaio.dms.server: 192.168.174.135:8080
enaio.dms.endpoint: http://${enaio.dms.server}/rest-ws

enaio.rendition.server: 192.168.174.135:8090
enaio.rendition.endpoint: http://${enaio.rendition.server}/osrenditioncache

#deprecated
enaio.server.username: ${enaio.dms.username}
enaio.server.password: ${enaio.dms.password}
enaio.server.endpoint: ${enaio.dms.endpoint}
rendition.endpoint: ${enaio.rendition.endpoint}
by (19.6k points)
OK, from this post it looks like the service-manager can connect ok to the dms-service (if dms-sidecar is up, the connection is ok) but the dms-service can't connect to the dms-sidecar. This might be because you rebooted both services at once and the dms-sidecar service was not up yet. If not, it might be because it is trying localhost instead of 192.168.174.135. To change that rename the file "<dms-service>\standalone\configuration\install-LocalPreferences.<timestamp>" to install-LocalPreferences.properties and edit it so that the ecmSidecar property uses the IP instead of localhost. Then restart the dms-service and see what happens.
If it still doesn't work, we will need to look into it in more detail. Please contact our support (support@optimal-systems.de or by phone) to open a support-call for it.
by (2.1k points)
I tried it and sadly it did not fix it. Thanks anyway for your effort.
...