Hi Eric,
Thanks for the explanation: we are still using ML6, so we will try deleting and setting up the servers again. And if this is not useable over the long period I will just rename the extension, although this would mean changes to the calling system as well. Thanks again, Arne Von: [email protected] [mailto:[email protected]] Im Auftrag von Erik Hennum Gesendet: Montag, 12. Januar 2015 16:16 An: MarkLogic Developer Discussion Betreff: Re: [MarkLogic Dev General] Trouble using two separate REST instances on one machine Hi, Arne: What version of MarkLogic are you using? The initial release of the REST API stored all extensions in the Extensions database, but we moved to storing extensions in the modules database for the REST server. If you're running MarkLogic 7 and the two REST servers have different modules databases, there shouldn't be any collision. In recent point releases of MarkLogic 6, we store extensions for new REST servers in the modules database for the server but, for backward compatibility, continue to store extensions for unmodified REST servers in the Extensions database. That could explain why you and your customer are seeing a different behaviour. If so, the customer should be able to fix the problem by deleting the old REST servers and creating new REST servers. If all else fails and you need an immediate fix, you could always rename one of the extensions. But you shouldn't have to do so. Hoping that helps, Erik Hennum _____ From: <mailto:[email protected]> [email protected] [[email protected]] on behalf of Kampf, Arne [[email protected]] Sent: Monday, January 12, 2015 7:02 AM To: <mailto:[email protected]> [email protected] Subject: [MarkLogic Dev General] Trouble using two separate REST instances on one machine Hi all, I'm currently facing a problem at a customer, and I'm not able to find any clue. We have two different REST server instances on the same machine, "listening" to different ports, pointing to different databases. If we query for the docs everything is fine, both servers "see" the docs they are supposed to (in "their" database). For both REST servers there are custom extensions, which are installed using a curl command like this: curl --anyauth --user %OS-user%:%OS-pass% -X PUT -H "Content-type: application/xquery" -d@%OS-path% "http://localhost:%OS-port%/v1/config/resources/load?title=LoadOS <http://localhost:%25OS-port%25/v1/config/resources/load?title=LoadOS&method =put&method=get> &method=put&method=get" The variables are different for both systems, the sources are different - "only" the name of the extension is the same in both cases. My problem is: on the customers machine the second curl command seems to "overwrite" the binding of the first one, which means both REST server instances are using the source referenced by this second command. So if we want to start the "first" extension running on the first REST server instance we are not able to, always the latest one is used on both ports. I would assume an error in the variable definition, but the same setup, the same curl commands, and the same variables used in there are working just fine on my local machine. I get different sources on the different REST server instances, just like expected. Some time ago the customer was able to get around this problem by re-defining the REST servers, but it is re-appearing now and seems to stay. Is there any rule, any setting that I didn't take into account? Do the names of the extensions have to be different, although they are running on different REST server instances (and if this is the case: why does it work on my machine)? Kind regards, Arne Kampf
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
