Re: [MarkLogic Dev General] Help with Corb2 'Server connection lost?' error
Zach, If you still could not resolve it, I was getting the exact same error, I was using an earlier version of xcc jar and when I changed it, it worked without any issues. Thanks! Raghu On Tue, Oct 18, 2016 at 10:57 AM, Dunlap, Zachariah <zdun...@ap.org> wrote: > Hello all, > > > > I’m attempting to run Corb2 in AWS and I’m getting the following error: > > > > Exception in thread "main" java.lang.RuntimeException: > com.marklogic.xcc.exceptions.ServerConnectionException: Premature > End-Of-Stream on flush. Server connection lost? > > [Session: user=admin, cb=Documents [ContentSource: user=admin, > cb=Documents [provider: address=localhost/127.0.0.1:8027, pool=0/64]]] > > > > I’m simply attempting to run the example as a test. I can run this just > fine on Windows. > > > > Is the error telling me it can’t access MarkLogic? I am positive that port > is available and open and I definitely have the XDBC server set up. > > > > Appreciate any help. > > > > Thanks, > > > Zach > > ___ > General mailing list > General@developer.marklogic.com > Manage your subscription at: > http://developer.marklogic.com/mailman/listinfo/general > > ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] concurrent invocation of xquery ending up with duplicate writes
All, I have a reader.xqy, which does only read operation and does not write to the forest, except for one doc insert. I don't want that reader query to obtain lock on all referenced documents, so I move that document insert logic to a seperate writer.xqy and invoke it from reader.xqy. My current logic is if random-xml already exists DO NOTHING else INSERT RANDOM-XML The problem I am facing is, when I invoke the reader xqy using multiple threads concurrently, I am ending up with duplicate writer xmls even though I have validations in place. How do I make sure that even if the reader xml is invoked concurrently by several threads, only one of the invocation has to insert an xml? Note: I need that random-xml inserted, before the reader.xqy completes execution and the URI of the random-xml involves dynamically generated ID and NOT a constant URI. Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Marklogic xquery best practices
All, Are there any best practices for Xquery in Marklogic, Following are few of my doubts 1. If my xquery is huge will it affect the performance? 2. If my xquery imports many library modules will it have an impact on the performance? 3. Is there a recommended directory structure or package structure? 4. Are there any design patterns for xquery? Please point me to documents if any for the Xquery/Marklogic Do's ad Don'ts Thanks! ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Marklogic Xquery best practices and package structure
All, Are there any best practices for Xquery in Marklogic, Following are few of my doubts 1. If my xquery is huge will it affect the performance? 2. If my xquery imports many library modules will it have an impact on the performance? 3. Is there a recommended directory structure or package structure? Please point me to documents if any for the Xquery/Marklogic Do's ad Don'ts Thanks! Raghu ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] finding the number of occurences of an element in an xml
Hi All, I've got around 40 million XML documents out of which few documents are having an element say element x twice (they are supposed to have only one element x), I need to find the list of documents are there with multiple occurrences of that element x. what would be the ideal way to query them? Thanks in adavance ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Fwd: xdmp:hash32 and xdmp:hash64 algorithm
Hi all, To add to that question, I have a requirement, I have to hash certain value at xquery end and the same value has to be hashed/unhashed at Java end. Is there a hashing function in Marklogic which exactly matches with Java hash implementation? Thanks in advance! Raghu On Wed, Aug 5, 2015 at 10:49 AM, sweet frd sumathisumi...@gmail.com wrote: Hi, The xdmp hash APIs are using which algorithm?. how it is converting the string to unsignedInt? on which basis? Thanks in Advance Sumathi. ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Need to remove unused xml namespace prefix
I understand the concept of namespace and we are allowed to have different namespaces inside a single xml apart from the root namespace, IMHO any element unless specified otherwise, inherits it's parent's namespace. My question is that is there a way where I apply the xpath on a child element, and ignore/remove the unused namespace prefix from the resulting xml? One of my dependent service is consuming the xml and although, what I'm returning to that service is semantically the same as what was saved, these unused prefixes are creating an issue. Any help is appreciated. On Tue, Jul 21, 2015 at 1:30 PM, Asit Nautiyal asitnauti...@outlook.com wrote: Hi Raghu, Here you want to keep the text.xml as part of http://somewhere.something.com; namespace and want to make its child element (child) part to other namespace http://anywhere.anything.com; , correct me, if I am wrong! If this is the case then, you are making this xml file as ambiguous. In xml file , all child elements should belongs to same namespace as its root element, that's why we have concept of namespace. Regards, Asit Nautiyal -- Date: Tue, 21 Jul 2015 11:07:53 -0400 From: raghupathy.visweswa...@gmail.com To: general@developer.marklogic.com CC: nagendran...@gmail.com Subject: [MarkLogic Dev General] Need to remove unused xml namespace prefix HI All, The following snippet gives me the unused namespace prefix (in this case ns), I need to ignore such unused namespace prefixes in the output Query declare namespace ns=http://somewhere.something.com;; xdmp:document-insert ( /text.xml, ns:root child xmlns=http://anywhere.anything.com;/child /ns:root ); doc(/text.xml)//*:child Result child xmlns:ns=http://somewhere.something.com; xmlns= http://anywhere.anything.com/ Thanks in advance! Raghu ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Need to remove unused xml namespace prefix
Thanks Florent Georges! On Wed, Jul 22, 2015 at 7:42 AM, Florent Georges li...@fgeorges.org wrote: Hi, Just to make it clear, there is nothing wrong with using several namespaces in the same document. Namespaces have been invented to differentiate names (by creating uniquely identified spaces for them). So their unit of application is element and attribute names, rather than documents. Think for instance about embedding SVG and MathML elements in a XHTML or XSL-FO document. The namespaces will ensure that elements with the (local) name title can be differentiated, by looking at within what namespace they have been defined. Regards, -- Florent Georges http://fgeorges.org/ http://h2oconsulting.be/ On 21 July 2015 at 19:30, Asit Nautiyal wrote: Hi Raghu, Here you want to keep the text.xml as part of http://somewhere.something.com; namespace and want to make its child element (child) part to other namespace http://anywhere.anything.com; , correct me, if I am wrong! If this is the case then, you are making this xml file as ambiguous. In xml file , all child elements should belongs to same namespace as its root element, that's why we have concept of namespace. Regards, Asit Nautiyal Date: Tue, 21 Jul 2015 11:07:53 -0400 From: raghupathy.visweswa...@gmail.com To: general@developer.marklogic.com CC: nagendran...@gmail.com Subject: [MarkLogic Dev General] Need to remove unused xml namespace prefix HI All, The following snippet gives me the unused namespace prefix (in this case ns), I need to ignore such unused namespace prefixes in the output Query declare namespace ns=http://somewhere.something.com;; xdmp:document-insert ( /text.xml, ns:root child xmlns=http://anywhere.anything.com;/child /ns:root ); doc(/text.xml)//*:child Result child xmlns:ns=http://somewhere.something.com; xmlns=http://anywhere.anything.com/ Thanks in advance! Raghu ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Need to remove unused xml namespace prefix
HI All, The following snippet gives me the unused namespace prefix (in this case ns), I need to ignore such unused namespace prefixes in the output Query declare namespace ns=http://somewhere.something.com;; xdmp:document-insert ( /text.xml, ns:root child xmlns=http://anywhere.anything.com;/child /ns:root ); doc(/text.xml)//*:child Result child xmlns:ns=http://somewhere.something.com; xmlns= http://anywhere.anything.com/ Thanks in advance! Raghu ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] XDMP:BADPINAME while doing an xdmp:unquote
Hi all, ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] XDMP:BADPINAME while doing an unquote
Hi All, I'm doing an xdmp:unquote of a string(xml), which is a http response from an other service. As it has xml processing instruction at the beginning, it is throwing a xdmp:badpiname error, while trying to unquote it. My logic requires it to be xml string. I need to omit the xml declaration. What is the best way to handle this? I tried repair-full option, it works, but it is MODIFYING the xml content, which I DO NOT want to happen. Thanks! Raghu ___ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Consuming a multipart response and parsing body part in xquery
Thanks David Ennis and Florent Georges. I will try them. On Tue, Feb 10, 2015 at 6:53 PM, David Ennis david.en...@hinttech.com wrote: I just checked some of our source code for saving from a post to disk. Florent's example has the key - its the casting to xs:base64binary.. An example from working code is: xdmp:save([your-path-here], binary{xs:hexBinary(xs:base64Binary([your post variable here)}) Kind Regards, David Ennis David Ennis *Content Engineer* [image: HintTech] http://www.hinttech.com/ Mastering the value of content creative | technology | content Delftechpark 37i 2628 XJ Delft The Netherlands T: +31 88 268 25 00 M: +31 63 091 72 80 [image: http://www.hinttech.com] http://www.hinttech.com https://twitter.com/HintTech http://www.facebook.com/HintTech http://www.linkedin.com/company/HintTech On 10 February 2015 at 13:57, Florent Georges li...@fgeorges.org wrote: Hi, In addition, you might be interested in the following (not been maintained for years and never been completely implemented, but there was something WRT multipart, if I remember correctly): https://github.com/fgeorges/expath-http-client-ml/blob/master/src/http-client.xq Regards, -- Florent Georges http://fgeorges.org/ http://h2oconsulting.be/ On 10 February 2015 at 07:29, Raghu wrote: Hi All, I'm calling a web service from my xquery and the response I'm getting is a multipart response with two parts. I need the binary content(pdf) in the second part to be stored in Marklogic, using xdmp:document-insert(), but I'm unable to do that, I'm getting the following errors If I use xdmp:document-insert ($uri,$secondPart) it says ARG2 IS NOT A NODE If I use xdmp:document-insert ($uri,document { $secondPart } ) the query times out If I use binary{$secondPart} then it says invalid xdmp:cast exception If I use xdmp:multipart-decode($boundary-value, $multipart-response[2]) then I get xdmp:invalid multipart How do I parse a mutlipart response in xquery? What is the right way to do this? Please help me out here. (: Logic I've used to parse the multipart response is below :) let $boundary-value := fn:concat('--', fn:substring-after($multipart-response[1]/http:headers/http:content-type, 'application/x-multipart-mixed;boundary=')) let $multipart-responseStr := xdmp:binary-decode($multipart-response[2], 'UTF-8') let $tokens := fn:tokenize($multipart-responseStr, $boundary-value) let $secondPart := fn:substring-after($tokens[3], 'Content-Type: application/pdf;charset=UTF-8') Thanks in advance! ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Consuming a multipart response and parsing body part in xquery
Hi All, I'm calling a web service from my xquery and the response I'm getting is a multipart response with two parts. I need the binary content(pdf) in the second part to be stored in Marklogic, using xdmp:document-insert(), but I'm unable to do that, I'm getting the following errors If I use xdmp:document-insert ($uri,$secondPart) it says ARG2 IS NOT A NODE If I use xdmp:document-insert ($uri,document { $secondPart } ) the query times out If I use binary{$secondPart} then it says invalid xdmp:cast exception If I use xdmp:multipart-decode($boundary-value, $multipart-response[2]) then I get xdmp:invalid multipart How do I parse a mutlipart response in xquery? What is the right way to do this? Please help me out here. (: Logic I've used to parse the multipart response is below :) let $boundary-value := fn:concat('--', fn:substring-after($multipart-response[1]/http:headers/http:content-type, 'application/x-multipart-mixed;boundary=')) let $multipart-responseStr := xdmp:binary-decode($multipart-response[2], 'UTF-8') let $tokens := fn:tokenize($multipart-responseStr, $boundary-value) let $secondPart := fn:substring-after($tokens[3], 'Content-Type: application/pdf;charset=UTF-8') Thanks in advance! ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Marklogic node replace
Hi all, I have two xqueries ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Marklogic node replace
Accidental send. Typing up now. Sorry for the inconvenience On Mon, Dec 8, 2014 at 6:46 AM, David Ennis david.en...@hinttech.com wrote: Could you please elaborate. Kind Regards, David Ennis David Ennis *Content Engineer* [image: HintTech] http://www.hinttech.com/ Mastering the value of content creative | technology | content Delftechpark 37i 2628 XJ Delft The Netherlands T: +31 88 268 25 00 M: +31 63 091 72 80 [image: http://www.hinttech.com] http://www.hinttech.com https://twitter.com/HintTech http://www.facebook.com/HintTech http://www.linkedin.com/company/HintTech On 8 December 2014 at 12:43, Raghu raghupathy.visweswa...@gmail.com wrote: Hi all, I have two xqueries ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Marklogic node replace of same node results in inconsistent output
Hi all, I have two xqueries xquery# 1. Sleeps for 10 secs (xdmp:sleep) and updates an existing node with a new value and logs the value Executing #1. xquery# 2. Updates the same node which is being updated in xquery #1 but no sleep and logs the value Executing #2. I am executing these in the order #1 first and #2 second via two separate query console of the same server I expected the xquery#2 to either wait for 10 seconds (if a write lock is obtained on the document) or update the node even before the xquery#1 does it's update, but the output seems to be differing every time, the strange thing is sometimes the xquery#2 is getting executed twice (Confirmed via log as well as the updated value in the document) or vice versa. PFB the xqueries and xml used *xquery#1* xdmp:sleep(1), xdmp:node-replace(doc(book.xml)/catalog/book[1]/price,price0003/price), xdmp:sleep(1), xdmp:log(Executing #1), doc(book.xml)/catalog/book[1]/price *xquery#2 * xdmp:sleep(1), xdmp:node-replace(doc(book.xml)/catalog/book[1]/price,price4445/price), xdmp:sleep(1), xdmp:log(Executing #2), doc(book.xml)/catalog/book[1]/price *Sample xml* catalog book id=bk101 authorGambardella, Matthew/author titleXML Developer's Guide/title genreComputer/genre price0004/price publish_date2000-10-01/publish_date descriptionAn in-depth look at creating applications with XML./description /book /catalog I'm using Marklogic version 7.0-2.3, I'm unable to figure out a pattern. Can someone explain this behavior? Thanks! Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Marklogic node replace of same node results in inconsistent output
Thanks David Ennis, PFB the response below 1. The second xquery doesn't have a sleep, that was a copy paste error on my part. 2. I'm verifying the document content by using the qconsole explore button and clicking on the link. 3. The sleep would not lock, but the node replace statement in the xquery could obtain a write lock (I believe) However I don't understand the scenario where either of the xqueries getting executed twice? Is it just me? Is somebody else also able to reproduce this as well? I'm working on a concurrent request POC, any help is appreciated Thanks! Raghu On Mon, Dec 8, 2014 at 6:19 PM, David Ennis david.en...@hinttech.com wrote: HI. I don't have a full answer, but a few pointers: - Your xquery2 is the same as xquery1 (includes sleep). This is probably not what you meant to include as it does not match your description where you say that there si no sleep on xquery2 - In the same statement you update the node and also read it back via doc() to verify it. This does not work this way in the query console. So you may be seeing some confusing results due to this. - I do not believe that the sleep will lock the document for 10 seconds in your example, so I don't think you should expect to see anythong blocking for that reason. Perhaps spawning your two samples would help you on your way. If nothing else, it will take the query console out of the equation. Kind Regards, David Ennis David Ennis *Content Engineer* [image: HintTech] http://www.hinttech.com/ Mastering the value of content creative | technology | content Delftechpark 37i 2628 XJ Delft The Netherlands T: +31 88 268 25 00 M: +31 63 091 72 80 [image: http://www.hinttech.com] http://www.hinttech.com https://twitter.com/HintTech http://www.facebook.com/HintTech http://www.linkedin.com/company/HintTech On 8 December 2014 at 13:32, Raghu raghupathy.visweswa...@gmail.com wrote: Hi all, I have two xqueries xquery# 1. Sleeps for 10 secs (xdmp:sleep) and updates an existing node with a new value and logs the value Executing #1. xquery# 2. Updates the same node which is being updated in xquery #1 but no sleep and logs the value Executing #2. I am executing these in the order #1 first and #2 second via two separate query console of the same server I expected the xquery#2 to either wait for 10 seconds (if a write lock is obtained on the document) or update the node even before the xquery#1 does it's update, but the output seems to be differing every time, the strange thing is sometimes the xquery#2 is getting executed twice (Confirmed via log as well as the updated value in the document) or vice versa. PFB the xqueries and xml used *xquery#1* xdmp:sleep(1), xdmp:node-replace(doc(book.xml)/catalog/book[1]/price,price0003/price), xdmp:sleep(1), xdmp:log(Executing #1), doc(book.xml)/catalog/book[1]/price *xquery#2 * xdmp:sleep(1), xdmp:node-replace(doc(book.xml)/catalog/book[1]/price,price4445/price), xdmp:sleep(1), xdmp:log(Executing #2), doc(book.xml)/catalog/book[1]/price *Sample xml* catalog book id=bk101 authorGambardella, Matthew/author titleXML Developer's Guide/title genreComputer/genre price0004/price publish_date2000-10-01/publish_date descriptionAn in-depth look at creating applications with XML./description /book /catalog I'm using Marklogic version 7.0-2.3, I'm unable to figure out a pattern. Can someone explain this behavior? Thanks! Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Marklogic node replace of same node results in inconsistent output
I've used two different browsers for each qconsole, yet the same results. On Mon, Dec 8, 2014 at 8:49 PM, Raghu raghupathy.visweswa...@gmail.com wrote: Thanks David Ennis, PFB the response below 1. The second xquery doesn't have a sleep, that was a copy paste error on my part. 2. I'm verifying the document content by using the qconsole explore button and clicking on the link. 3. The sleep would not lock, but the node replace statement in the xquery could obtain a write lock (I believe) However I don't understand the scenario where either of the xqueries getting executed twice? Is it just me? Is somebody else also able to reproduce this as well? I'm working on a concurrent request POC, any help is appreciated Thanks! Raghu On Mon, Dec 8, 2014 at 6:19 PM, David Ennis david.en...@hinttech.com wrote: HI. I don't have a full answer, but a few pointers: - Your xquery2 is the same as xquery1 (includes sleep). This is probably not what you meant to include as it does not match your description where you say that there si no sleep on xquery2 - In the same statement you update the node and also read it back via doc() to verify it. This does not work this way in the query console. So you may be seeing some confusing results due to this. - I do not believe that the sleep will lock the document for 10 seconds in your example, so I don't think you should expect to see anythong blocking for that reason. Perhaps spawning your two samples would help you on your way. If nothing else, it will take the query console out of the equation. Kind Regards, David Ennis David Ennis *Content Engineer* [image: HintTech] http://www.hinttech.com/ Mastering the value of content creative | technology | content Delftechpark 37i 2628 XJ Delft The Netherlands T: +31 88 268 25 00 M: +31 63 091 72 80 [image: http://www.hinttech.com] http://www.hinttech.com https://twitter.com/HintTech http://www.facebook.com/HintTech http://www.linkedin.com/company/HintTech On 8 December 2014 at 13:32, Raghu raghupathy.visweswa...@gmail.com wrote: Hi all, I have two xqueries xquery# 1. Sleeps for 10 secs (xdmp:sleep) and updates an existing node with a new value and logs the value Executing #1. xquery# 2. Updates the same node which is being updated in xquery #1 but no sleep and logs the value Executing #2. I am executing these in the order #1 first and #2 second via two separate query console of the same server I expected the xquery#2 to either wait for 10 seconds (if a write lock is obtained on the document) or update the node even before the xquery#1 does it's update, but the output seems to be differing every time, the strange thing is sometimes the xquery#2 is getting executed twice (Confirmed via log as well as the updated value in the document) or vice versa. PFB the xqueries and xml used *xquery#1* xdmp:sleep(1), xdmp:node-replace(doc(book.xml)/catalog/book[1]/price,price0003/price), xdmp:sleep(1), xdmp:log(Executing #1), doc(book.xml)/catalog/book[1]/price *xquery#2 * xdmp:sleep(1), xdmp:node-replace(doc(book.xml)/catalog/book[1]/price,price4445/price), xdmp:sleep(1), xdmp:log(Executing #2), doc(book.xml)/catalog/book[1]/price *Sample xml* catalog book id=bk101 authorGambardella, Matthew/author titleXML Developer's Guide/title genreComputer/genre price0004/price publish_date2000-10-01/publish_date descriptionAn in-depth look at creating applications with XML./description /book /catalog I'm using Marklogic version 7.0-2.3, I'm unable to figure out a pattern. Can someone explain this behavior? Thanks! Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Marklogic node replace of same node results in inconsistent output
Hi Ron, 1) An update request does not see its own updates. Fetching the value of something from the database after an update to that thing will return the value from the database as-of the time the request started running. - I totally agree Ron, I'm checking the value by exploring the database and NOT using the doc statement. 2) It is possible for deadlocks to occur, especially in clusters, when multiple requests are attempting to lock the same URIs, either explicitly or implicitly. One of the ways these deadlocks are resolved is to pick one of the deadlocking requests and summarily kill it. Then start it over again. MarkLogic has ACID properties, so killing a request causes a rollback to its initial starting state. If the killed request had logged something before it was killed, you may see the same messages logged again from the second run. This is all quite normal. - No clusters, just a standalone host. Leaving that aside,my doubt is that every time the first xquery locks the resource (URI), how is the second xquery able to update the node? Isn't the outcome supposed to be the same always? Thanks! Raghu On Mon, Dec 8, 2014 at 9:15 PM, Ron Hitchens r...@ronsoft.com wrote: Two things of note: 1) An update request does not see its own updates. Fetching the value of something from the database after an update to that thing will return the value from the database as-of the time the request started running. 2) It is possible for deadlocks to occur, especially in clusters, when multiple requests are attempting to lock the same URIs, either explicitly or implicitly. One of the ways these deadlocks are resolved is to pick one of the deadlocking requests and summarily kill it. Then start it over again. MarkLogic has ACID properties, so killing a request causes a rollback to its initial starting state. If the killed request had logged something before it was killed, you may see the same messages logged again from the second run. This is all quite normal. --- Ron Hitchens {r...@overstory.co.uk} +44 7879 358212 On Dec 8, 2014, at 3:21 PM, Raghu raghupathy.visweswa...@gmail.com wrote: I've used two different browsers for each qconsole, yet the same results. On Mon, Dec 8, 2014 at 8:49 PM, Raghu raghupathy.visweswa...@gmail.com wrote: Thanks David Ennis, PFB the response below 1. The second xquery doesn't have a sleep, that was a copy paste error on my part. 2. I'm verifying the document content by using the qconsole explore button and clicking on the link. 3. The sleep would not lock, but the node replace statement in the xquery could obtain a write lock (I believe) However I don't understand the scenario where either of the xqueries getting executed twice? Is it just me? Is somebody else also able to reproduce this as well? I'm working on a concurrent request POC, any help is appreciated Thanks! Raghu On Mon, Dec 8, 2014 at 6:19 PM, David Ennis david.en...@hinttech.com wrote: HI. I don't have a full answer, but a few pointers: - Your xquery2 is the same as xquery1 (includes sleep). This is probably not what you meant to include as it does not match your description where you say that there si no sleep on xquery2 - In the same statement you update the node and also read it back via doc() to verify it. This does not work this way in the query console. So you may be seeing some confusing results due to this. - I do not believe that the sleep will lock the document for 10 seconds in your example, so I don't think you should expect to see anythong blocking for that reason. Perhaps spawning your two samples would help you on your way. If nothing else, it will take the query console out of the equation. Kind Regards, David Ennis David Ennis *Content Engineer* [image: HintTech] http://www.hinttech.com/ Mastering the value of content creative | technology | content Delftechpark 37i 2628 XJ Delft The Netherlands T: +31 88 268 25 00 M: +31 63 091 72 80 [image: http://www.hinttech.com] http://www.hinttech.com/ https://twitter.com/HintTech http://www.facebook.com/HintTech http://www.linkedin.com/company/HintTech On 8 December 2014 at 13:32, Raghu raghupathy.visweswa...@gmail.com wrote: Hi all, I have two xqueries xquery# 1. Sleeps for 10 secs (xdmp:sleep) and updates an existing node with a new value and logs the value Executing #1. xquery# 2. Updates the same node which is being updated in xquery #1 but no sleep and logs the value Executing #2. I am executing these in the order #1 first and #2 second via two separate query console of the same server I expected the xquery#2 to either wait for 10 seconds (if a write lock is obtained on the document) or update the node even before the xquery#1 does it's update, but the output seems to be differing every time, the strange thing is sometimes the xquery#2 is getting executed twice (Confirmed via log as well
[MarkLogic Dev General] XDMP-SPECIALPROP- cannot update server maintained properties
Hi All, I had several documents in one of my ML 7.x DB in a different environment and I wanted to clear the DB excluding a few documents, So I'd xqsync'ed it as a back up to my localhost ML DB which is ML 6.x. Now when I'm trying to sync them back to ML 7.x DB and I'm getting the folowing error XDMP-SPECIALPROP- cannot update server maintained properties I'm using document properties to additionally hold values other than modified date and I want them to be retained while I sync them back to ML 7.x DB so I'm using COPY_PROPERTIES=true while syncing. I assumed that it was backward compatible. Is this a privilege related issue? I see that there is an open issue in github https://github.com/marklogic/xqsync/issues/6 Please let me know how to modify/retain the document properties. Is this not supported anymore? ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Regarding updating index in Master replica DB
Hi All, My situation is that my customers are using the master DB and I have to add an index without taking down the DB (which has a foreign replica). If I add an element range index in a Marklogic master DB with replication turned on with a foreign replica DB. Will the master DB start reindexing,refragmenting, merging and replication simultaneously? Is there a way to delay the replication till the reindexing merging stuff etc is complete without turning the replication off? Thanks Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Monitor Dashboard query Task server - threads timings for longest running xqueries
Hi All, I am using the Monitor dashboard feature(8002) in Marklogic and it shows the longest running xqueries. I see that the threads which were spawned were listed in longest running xqueries, but my logs indicate that those threads in fact executed within few seconds. Does the dashboard timing for longest running xqueries also take into account the time the thread is waiting in the Task server queue? Thanks Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Somebody please help me!
HI all, I have a parent - detail with two children -name , value I wrote an xquery to fetch the document with both name and value (should be siblings) with 'a' as value cts:search is working a s expected whereas cts:uris isn't Please find below the sample xquery Thanks in advance xdmp:document-insert(/1.xml, root detail namea/name valuea/value /detail detail namea/name valueb/value /detail /root ), xdmp:document-insert(/2.xml, root detail namea/name valueb/value /detail detail nameb/name valuea/value /detail /root ), xdmp:document-insert(/3.xml, root detail nameb/name valueb/value /detail detail nameb/name valueb/value /detail /root ); (: both children of detail ‘name’ and ‘value’ should have ‘a’ as text content :) let $myquery := cts:element-query(xs:QName(detail), cts:and-query(( cts:element-range-query(xs:QName(name),=,a), cts:element-range-query(xs:QName(value),=,a) )) ) return ( cts:uris/ cts:uri-match results:, cts:uris('',(),$myquery), cts:search results:, cts:search(/root,$myquery) ) ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] storing a html 'as it is' in xml
Hi All, Im trying to store a html with empty tags say html span class=someclass/span span class=someclass/span span class=someclass/span span class=someclassSome text/span /html After storing in marklogic I get html span class=someclass/ span class=someclass/ span class=someclass/ span class=someclassSome text/span /html It is also stripping the spaces and line breaks And this is causing issues while rendering as html in a few browsers Is there a way I can store it as it is?? I've tried declare boundary-space preserve; declare option xdmp:output indent=no; but still no luck OTHER THAN CDATA/ Binary is there any other way to do this? Any help is appreciated Thanks in advance! Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Somebody please help me!
@Ryan - you are right cts:search is also giving the same results when unfiltered Is there an option to make cts:uris/ cts:uri-match behave like a filtered search?? On Tue, Feb 12, 2013 at 6:31 PM, Ryan Dew ryan.j@gmail.com wrote: I believe this is because cts:uris is always unfiltered. You should get the same result from cts:search result if you passed the 'unfiltered' option. I believe you can get what you want if you set 'detail' as a fragment root. You can read about fragment roots here: http://docs.marklogic.com/guide/admin/fragments#id_34807 I maybe wrong since I've never tested this sort of thing with cts:uris, but someone smarter than me might be able to have a more certain answer. -Ryan Dew On Tue, Feb 12, 2013 at 4:20 PM, Raghu raghupathy.visweswa...@gmail.comwrote: HI all, I have a parent - detail with two children -name , value I wrote an xquery to fetch the document with both name and value (should be siblings) with 'a' as value cts:search is working a s expected whereas cts:uris isn't Please find below the sample xquery Thanks in advance xdmp:document-insert(/1.xml, root detail namea/name valuea/value /detail detail namea/name valueb/value /detail /root ), xdmp:document-insert(/2.xml, root detail namea/name valueb/value /detail detail nameb/name valuea/value /detail /root ), xdmp:document-insert(/3.xml, root detail nameb/name valueb/value /detail detail nameb/name valueb/value /detail /root ); (: both children of detail ‘name’ and ‘value’ should have ‘a’ as text content :) let $myquery := cts:element-query(xs:QName(detail), cts:and-query(( cts:element-range-query(xs:QName(name),=,a), cts:element-range-query(xs:QName(value),=,a) )) ) return ( cts:uris/ cts:uri-match results:, cts:uris('',(),$myquery), cts:search results:, cts:search(/root,$myquery) ) ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Somebody please help me!
Introducing fragment roots is it gonna take additional memory/indexes? Is there an easier way without having to create any fragments/indexes? On Tue, Feb 12, 2013 at 6:48 PM, Raghu raghupathy.visweswa...@gmail.comwrote: @Ryan - you are right cts:search is also giving the same results when unfiltered Is there an option to make cts:uris/ cts:uri-match behave like a filtered search?? On Tue, Feb 12, 2013 at 6:31 PM, Ryan Dew ryan.j@gmail.com wrote: I believe this is because cts:uris is always unfiltered. You should get the same result from cts:search result if you passed the 'unfiltered' option. I believe you can get what you want if you set 'detail' as a fragment root. You can read about fragment roots here: http://docs.marklogic.com/guide/admin/fragments#id_34807 I maybe wrong since I've never tested this sort of thing with cts:uris, but someone smarter than me might be able to have a more certain answer. -Ryan Dew On Tue, Feb 12, 2013 at 4:20 PM, Raghu raghupathy.visweswa...@gmail.comwrote: HI all, I have a parent - detail with two children -name , value I wrote an xquery to fetch the document with both name and value (should be siblings) with 'a' as value cts:search is working a s expected whereas cts:uris isn't Please find below the sample xquery Thanks in advance xdmp:document-insert(/1.xml, root detail namea/name valuea/value /detail detail namea/name valueb/value /detail /root ), xdmp:document-insert(/2.xml, root detail namea/name valueb/value /detail detail nameb/name valuea/value /detail /root ), xdmp:document-insert(/3.xml, root detail nameb/name valueb/value /detail detail nameb/name valueb/value /detail /root ); (: both children of detail ‘name’ and ‘value’ should have ‘a’ as text content :) let $myquery := cts:element-query(xs:QName(detail), cts:and-query(( cts:element-range-query(xs:QName(name),=,a), cts:element-range-query(xs:QName(value),=,a) )) ) return ( cts:uris/ cts:uri-match results:, cts:uris('',(),$myquery), cts:search results:, cts:search(/root,$myquery) ) ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Facets in Search API - Is it picking from indexes or from database
HI Radhika, In order to use the facet you need an element range-index on that element enabled and so IMHO it is picking up the values from range index. Thanks Raghu On Tue, Sep 25, 2012 at 12:12 PM, Vedavalli Radhika radhika...@gmail.comwrote: I have a basic doubt. The search:facet that comes back from search API call - Is it fetching from the indexes or from the database? ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] XDMP-RANGEINDEX while invoking a module
Hi Mike, The Marklogic version I'm using is 5.0-3 And the range index configuration is scalar-typedateTime/scalar-type namespace-urihttp://mynamespace/namespace-uri localnamemodificationdate/localname collation / range-value-positionsfalse/range-value-positions Thanks Raghu On Tue, Sep 18, 2012 at 10:44 PM, Michael Blakeley m...@blakeley.comwrote: Which version of MarkLogic Server are you using? What is the range index configuration? -- Mike On 18 Sep 2012, at 07:12 , Raghu wrote: HI All, I am invoking an xquery and I'm getting the following error XDMP-RANGEINDEX: xdmp:invoke(module.xqy, (fn:QName(, user-id), 123, fn:QName(, product-id), ...)) -- Range index error: dateTime fn:doc(/documentname.xml)/parentnode/childnode[2]/modificationdate: XDMP-CAST: (err:FORG0001) Invalid cast: xs:untypedAtomic(123) cast as xs:dateTime The module invoked is inserting a node with following element-values modificationdate - range index present (dateTime) userid itemid I triple checked/logged the values and there is no reason that userid value to be taken as modification date value. This happens only when there is already a child entry is present and I'm adding another child, I suspect that the existing child has some special characters in it. Could somebody please tell me if special characters could cause this kind of error, or is there something else I should check with. Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] XDMP-RANGEINDEX while invoking a module
HI All, I am invoking an xquery and I'm getting the following error XDMP-RANGEINDEX: xdmp:invoke(module.xqy, (fn:QName(, user-id), 123, fn:QName(, product-id), ...)) -- Range index error: dateTime fn:doc(/documentname.xml)/parentnode/childnode[2]/modificationdate: XDMP-CAST: (err:FORG0001) Invalid cast: xs:untypedAtomic(123) cast as xs:dateTime The module invoked is inserting a node with following element-values modificationdate - range index present (dateTime) userid itemid I triple checked/logged the values and there is no reason that userid value to be taken as modification date value. This happens only when there is already a child entry is present and I'm adding another child, I suspect that the existing child has some special characters in it. Could somebody please tell me if special characters could cause this kind of error, or is there something else I should check with. Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] Trying to add a rule to xqdt plug-in
Hi All, I am trying to add a rule to xqdt plugin (e.g) to remove unused namespaces/variables. Is there a simpler way to do it? Can somebody please point me to an xquery parser or anything which would help me accmpolish this task. I already tried downloading xqdt code but there are too many dependencies. Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Trying to add a rule to xqdt plug-in
I would like to validate my xquery against a set of rules on saving the xquery in eclipse. Say I am declaring a variable in xquery and never using it, i would like to throw a warning saying this variable is never read locally, similar to how java is compiled and warnings are displayed. On Jan 3, 2012 9:51 PM, Geert Josten geert.jos...@dayon.nl wrote: Hi Raghu, Not quite sure I understand what you are trying to achieve. Can you elaborate on what you are trying to do? Are you talking about something like the Java imports cleanup of Eclipse, but applied to declarations in an XQuery module? Or is it more like a cleanup of your output? Did you consider posting an issue at https://bugs.eclipse.org/bugs/enter_bug.cgi?product=WTP%20Incubatorcomponent=wtp.inc.xquery? Kind regards, Geert *Van:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *Namens *Raghu *Verzonden:* dinsdag 3 januari 2012 16:26 *Aan:* General MarkLogic Developer Discussion *Onderwerp:* [MarkLogic Dev General] Trying to add a rule to xqdt plug-in Hi All, I am trying to add a rule to xqdt plugin (e.g) to remove unused namespace... ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found
No I didn't mean that way. Sorry no offence meant. My point is I suspected everything but triggers! On Tue, Nov 15, 2011 at 11:16 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: I am not sure that is weird behavior. If you have a delete trigger that has a lot of work to do, for example, that would certainly impact the performance of deletes. So it all depends on the totality of what is going on in your environment. ** ** -Danny ** ** *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Tuesday, November 15, 2011 9:43 AM *To:* General MarkLogic Developer Discussion *Subject:* Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found ** ** Hey Danny, Seems that I'd set triggers to triggers database and this was causing xdmp:directory-delete() not to work. Hope you had fixed this. I would have never suspected that triggers would have such an impact. weird behavior isn't it? ** ** Cheers Raghu On Tue, Oct 25, 2011 at 9:41 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Hi Raghu, That sounds right because in 4.2, there were a number of inconsistencies in the way MarkLogic handled directory and property deletes that were fixed. This was to support standalone properties (a property with no corresponding document at the same URI). You can use a combination of the URI lexicon (cts:uri-match) and xdmp:document-delete to accomplish the same thing when you do not have the directories in your database. Something like (this is untested): for $x in cts:uri-match(“/my/dir/*”) return xdmp:document-delete($x) -Danny *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Tuesday, October 25, 2011 6:36 AM *To:* General MarkLogic Developer Discussion *Subject:* Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found HI Danny, I tried the same in 4.2 version and even though there was no property document for the directory, the directory gets deleted succesfully but in 4.1 it throws a xdmp:doc-not -found. Am I right? is this the root cause or am I missing something? Please help me out P.S: Sorry I'd given the version wrong in my previous mail, please ignore it Thanks in advance Raghu On Tue, Oct 25, 2011 at 6:34 PM, Raghu raghupathy.visweswa...@gmail.com wrote: HI Danny, I tried the same in 4.1 version and even though there was no property document for the directory, the directory gets deleted succesfully but in 4.0 it throws a xdmp:doc-not -found. Am I right? is this the root cause or am I missing something? Please help me out Thanks in advance Raghu On Mon, Oct 24, 2011 at 10:25 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Hi Raghu, I can think of 2 things to look at: 1) Make sure the directory exists. A directory is a properties document with the special directory element. Try running the following, substituting the dir URI for $uri: xdmp:document-properties($uri) this should return a properties document with a directory element. If it does not, then the directory does not exist. 2) Make sure the user who is running the directory-delete has permissions to see the directory. You can check that by looking at the permissions on the directory: xdmp:document-get-permissions($uri) Also, what version of marklogic are you running (xdmp:version() )? -Danny *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Monday, October 24, 2011 6:20 AM *To:* General MarkLogic Developer Discussion *Subject:* [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found Hi All, I'm trying to delete a directory usind xdmp:directory-delete; it returns a xdmp:doc-not-found but when I do a xdmp:directory of the same uri I'm able to see the documents inside the folder. These directories are created from a trigger. does it have anything to do with it? Should I set any document proerty? Please help me out. Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found
BTW mine was a modify/update trigger that was one reason I didn't suspect directory delete's behavior. But still it was on a directory and it starts making sense now!! :) On Tue, Nov 15, 2011 at 11:34 PM, Raghu raghupathy.visweswa...@gmail.comwrote: No I didn't mean that way. Sorry no offence meant. My point is I suspected everything but triggers! On Tue, Nov 15, 2011 at 11:16 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: I am not sure that is weird behavior. If you have a delete trigger that has a lot of work to do, for example, that would certainly impact the performance of deletes. So it all depends on the totality of what is going on in your environment. ** ** -Danny ** ** *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Tuesday, November 15, 2011 9:43 AM *To:* General MarkLogic Developer Discussion *Subject:* Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found ** ** Hey Danny, Seems that I'd set triggers to triggers database and this was causing xdmp:directory-delete() not to work. Hope you had fixed this. I would have never suspected that triggers would have such an impact. weird behavior isn't it? ** ** Cheers Raghu On Tue, Oct 25, 2011 at 9:41 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Hi Raghu, That sounds right because in 4.2, there were a number of inconsistencies in the way MarkLogic handled directory and property deletes that were fixed. This was to support standalone properties (a property with no corresponding document at the same URI). You can use a combination of the URI lexicon (cts:uri-match) and xdmp:document-delete to accomplish the same thing when you do not have the directories in your database. Something like (this is untested): for $x in cts:uri-match(“/my/dir/*”) return xdmp:document-delete($x) -Danny *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Tuesday, October 25, 2011 6:36 AM *To:* General MarkLogic Developer Discussion *Subject:* Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found HI Danny, I tried the same in 4.2 version and even though there was no property document for the directory, the directory gets deleted succesfully but in 4.1 it throws a xdmp:doc-not -found. Am I right? is this the root cause or am I missing something? Please help me out P.S: Sorry I'd given the version wrong in my previous mail, please ignore it Thanks in advance Raghu On Tue, Oct 25, 2011 at 6:34 PM, Raghu raghupathy.visweswa...@gmail.com wrote: HI Danny, I tried the same in 4.1 version and even though there was no property document for the directory, the directory gets deleted succesfully but in 4.0 it throws a xdmp:doc-not -found. Am I right? is this the root cause or am I missing something? Please help me out Thanks in advance Raghu On Mon, Oct 24, 2011 at 10:25 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Hi Raghu, I can think of 2 things to look at: 1) Make sure the directory exists. A directory is a properties document with the special directory element. Try running the following, substituting the dir URI for $uri: xdmp:document-properties($uri) this should return a properties document with a directory element. If it does not, then the directory does not exist. 2) Make sure the user who is running the directory-delete has permissions to see the directory. You can check that by looking at the permissions on the directory: xdmp:document-get-permissions($uri) Also, what version of marklogic are you running (xdmp:version() )? -Danny *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Monday, October 24, 2011 6:20 AM *To:* General MarkLogic Developer Discussion *Subject:* [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found Hi All, I'm trying to delete a directory usind xdmp:directory-delete; it returns a xdmp:doc-not-found but when I do a xdmp:directory of the same uri I'm able to see the documents inside the folder. These directories are created from a trigger. does it have anything to do with it? Should I set any document proerty? Please help me out. Thanks in advance
[MarkLogic Dev General] Spawning an xquery getting triigered twice
HI All, I have an xquery (A.xqy) which is spawning another xquery (B.xqy). From B.xqy I'm invoking another xquery (C.xqy) which is getting invoked twice. Meaning I see log statements from C.xqy twice but only once from B.xqy. Can somebody explain this strange behaviour?? Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] data export / import
Hi Gary, Did you try XQSync?? http://marklogic.github.com/xqsync/ Cheers Raghu On Thu, Oct 27, 2011 at 11:19 PM, Gary Larsen gary.lar...@envisn.comwrote: Are there any means within MarkLogic (or utilities) to move data from one database to another, or across servers? It seems this would be fairly easy to develop using XCC so I figure something must already exist. ** ** Thanks, gary ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found
Hi Lee, You are right! I have an a/b/c.xml and I assumed that it would automatically be inside the folder a/b/ and when I try to delete the directory it says doc-not-found and when I checked for the properties(as Danny had said) it wasn't present. Thank you very much! On Mon, Oct 24, 2011 at 10:36 PM, Lee, David d...@epocrates.com wrote: My guess is you have a document with a uri say like /a/b/c.xml ** ** But there is no actual 'directory' object/a/b ** ** This took me a long while to grok while starting with ML (but of course its so obvious now I don't think of it :) ** ** MarkLogic doesn't require directory objects, and in many cases works much better without them. Check your settings on your database to see if Directories are automatically created. If not you probably just have a perfectly valid document which 'just by happenstance' and mistaken assumptions looks like it should be in a 'directory' ... But unlike file systems, ML doesn't need directories to create hieratical looking URI's. ** ** ** ** ** ** David A. Lee Senior Principal Software Engineer Epocrates, Inc. d...@epocrates.com 812-482-5224 ** ** *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Danny Sokolsky *Sent:* Monday, October 24, 2011 12:55 PM *To:* General MarkLogic Developer Discussion *Subject:* Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found ** ** Hi Raghu, ** ** I can think of 2 things to look at: ** ** ** ** **1) **Make sure the directory exists. A directory is a properties document with the special directory element. Try running the following, substituting the dir URI for $uri: ** ** xdmp:document-properties($uri) ** ** this should return a properties document with a directory element. If it does not, then the directory does not exist. ** ** **2) **Make sure the user who is running the directory-delete has permissions to see the directory. You can check that by looking at the permissions on the directory: ** ** xdmp:document-get-permissions($uri) ** ** Also, what version of marklogic are you running (xdmp:version() )? ** ** -Danny ** ** ** ** *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Monday, October 24, 2011 6:20 AM *To:* General MarkLogic Developer Discussion *Subject:* [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found ** ** Hi All, I'm trying to delete a directory usind xdmp:directory-delete; it returns a xdmp:doc-not-found but when I do a xdmp:directory of the same uri I'm able to see the documents inside the folder. These directories are created from a trigger. does it have anything to do with it? Should I set any document proerty? Please help me out. Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found
HI Danny, I tried the same in 4.1 version and even though there was no property document for the directory, the directory gets deleted succesfully but in 4.0 it throws a xdmp:doc-not -found. Am I right? is this the root cause or am I missing something? Please help me out Thanks in advance Raghu On Mon, Oct 24, 2011 at 10:25 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Hi Raghu, ** ** I can think of 2 things to look at: ** ** ** ** **1) **Make sure the directory exists. A directory is a properties document with the special directory element. Try running the following, substituting the dir URI for $uri: ** ** xdmp:document-properties($uri) ** ** this should return a properties document with a directory element. If it does not, then the directory does not exist. ** ** **2) **Make sure the user who is running the directory-delete has permissions to see the directory. You can check that by looking at the permissions on the directory: ** ** xdmp:document-get-permissions($uri) ** ** Also, what version of marklogic are you running (xdmp:version() )? ** ** -Danny ** ** ** ** *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Monday, October 24, 2011 6:20 AM *To:* General MarkLogic Developer Discussion *Subject:* [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found ** ** Hi All, I'm trying to delete a directory usind xdmp:directory-delete; it returns a xdmp:doc-not-found but when I do a xdmp:directory of the same uri I'm able to see the documents inside the folder. These directories are created from a trigger. does it have anything to do with it? Should I set any document proerty? Please help me out. Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found
Thanks Dan! On Tue, Oct 25, 2011 at 9:41 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Hi Raghu, ** ** That sounds right because in 4.2, there were a number of inconsistencies in the way MarkLogic handled directory and property deletes that were fixed. This was to support standalone properties (a property with no corresponding document at the same URI). ** ** You can use a combination of the URI lexicon (cts:uri-match) and xdmp:document-delete to accomplish the same thing when you do not have the directories in your database. Something like (this is untested): ** ** for $x in cts:uri-match(“/my/dir/*”) return xdmp:document-delete($x) ** ** -Danny ** ** *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Tuesday, October 25, 2011 6:36 AM *To:* General MarkLogic Developer Discussion *Subject:* Re: [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found ** ** ** ** HI Danny, I tried the same in 4.2 version and even though there was no property document for the directory, the directory gets deleted succesfully but in 4.1 it throws a xdmp:doc-not -found. Am I right? is this the root cause or am I missing something? Please help me out P.S: Sorry I'd given the version wrong in my previous mail, please ignore it Thanks in advance Raghu On Tue, Oct 25, 2011 at 6:34 PM, Raghu raghupathy.visweswa...@gmail.com wrote: HI Danny, I tried the same in 4.1 version and even though there was no property document for the directory, the directory gets deleted succesfully but in 4.0 it throws a xdmp:doc-not -found. Am I right? is this the root cause or am I missing something? Please help me out Thanks in advance Raghu On Mon, Oct 24, 2011 at 10:25 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Hi Raghu, I can think of 2 things to look at: 1) Make sure the directory exists. A directory is a properties document with the special directory element. Try running the following, substituting the dir URI for $uri: xdmp:document-properties($uri) this should return a properties document with a directory element. If it does not, then the directory does not exist. 2) Make sure the user who is running the directory-delete has permissions to see the directory. You can check that by looking at the permissions on the directory: xdmp:document-get-permissions($uri) Also, what version of marklogic are you running (xdmp:version() )? -Danny *From:* general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] *On Behalf Of *Raghu *Sent:* Monday, October 24, 2011 6:20 AM *To:* General MarkLogic Developer Discussion *Subject:* [MarkLogic Dev General] Directory exists but xdmp:directory-delete return xdmp:doc-not-found Hi All, I'm trying to delete a directory usind xdmp:directory-delete; it returns a xdmp:doc-not-found but when I do a xdmp:directory of the same uri I'm able to see the documents inside the folder. These directories are created from a trigger. does it have anything to do with it? Should I set any document proerty? Please help me out. Thanks in advance Raghu ** ** ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ** ** ** ** ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] trigger not getting invoked in a clustered environment
Hi Danny, Thanks once again. I'm not using any content processing framework. Its just an xquery. I don't have the luxury of adding nodes. Any ways it isn't throwing up any errors in the logs that is what is keeping me guessing.I will let you know if I find something interesting! Thanks Raghu On Sun, Sep 18, 2011 at 3:54 AM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Raghu, When you say it works in a single host, but not in a clustered environment, let's drill down into what has changed in your scenario. See if you can find the error you are getting when it is not invoking the module. That might provide a clue as to what is not working. Here is what I would try: 1) Set up a single node cluster and ensure it is working. 2) Add another node to that same cluster and see if it still works against the host that it originally worked on. 3) Then try the same test using the other host as the e-node (that is, by executing the triggering query against the other node). That will allow you to debug it. If your code is in the modules database, then it should be accessible from anywhere in the cluster. If, however, you have placed your code under the Modules directory, then you would need to duplicate that code in each node in the cluster. Beyond the code being accessible from each host, I can't think of a particular setting that would cause it not to work on one host. Something perhaps is different between your hosts that you have yet to discover. Once again, if you are using cpf, then there are a few more dubugging alternatives. -Danny From: general-boun...@developer.marklogic.com [ general-boun...@developer.marklogic.com] On Behalf Of Raghu [ raghupathy.visweswa...@gmail.com] Sent: Saturday, September 17, 2011 10:41 AM To: General MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] trigger not getting invoked in a clustered environment HI Danny, Thanks. I've ensured that everything is in place. The same trigger works fine in a single host but in a clustered environment it isn't invoking the module. Is there any setting which might cause this kind of behavior? Thanks Raghu On Fri, Sep 16, 2011 at 9:48 PM, Danny Sokolsky danny.sokol...@marklogic.commailto:danny.sokol...@marklogic.com wrote: Hi Raghu, Is your trigger module (/userdir/modules/xquery/migrate-helper.xqy based on the trigger create code you showed) loaded into the database names Modules. To check that, run (in cq for example): fn:doc(/userdir/modules/xquery/migrate-helper.xqy ) against the Modules database. It should return the text of the module. Assuming you are using CPF, in the document that is not being triggered, take a look at the properties: xdmp:document-properties($uri) where $uri is the URI of the document that did not get updated. Those are some places to start. -Danny From: general-boun...@developer.marklogic.commailto: general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.commailto: general-boun...@developer.marklogic.com] On Behalf Of Raghu Sent: Friday, September 16, 2011 5:58 AM To: General MarkLogic Developer Discussion Subject: [MarkLogic Dev General] trigger not getting invoked in a clustered environment Hi All, I'm having a migrator xquery which I need to invoke when a user does an operation and so I've used a trigger on the user's directory with infinity as depth. It is working fine in normal environment but it isn't invoking the migrator query in a clustered environment. Can somebody help me out? PFB the trigger import module namespace trgr=http://marklogic.com/xdmp/triggers; at /MarkLogic/triggers.xqy; trgr:create-trigger(migrate folders, migrate folders, trgr:trigger-data-event( trgr:directory-scope(/userdir/1234/, infinity), trgr:document-content(modify), trgr:post-commit()), trgr:trigger-module(xdmp:database(Modules), /userdir/modules/xquery/, migrate-helper.xqy), fn:true(), xdmp:default-permissions()) Thanks in advance Raghu ___ General mailing list General@developer.marklogic.commailto:General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] trigger not getting invoked in a clustered environment
HI Danny, Thanks. I've ensured that everything is in place. The same trigger works fine in a single host but in a clustered environment it isn't invoking the module. Is there any setting which might cause this kind of behavior? Thanks Raghu On Fri, Sep 16, 2011 at 9:48 PM, Danny Sokolsky danny.sokol...@marklogic.com wrote: Hi Raghu, Is your trigger module (/userdir/modules/xquery/migrate-helper.xqy based on the trigger create code you showed) loaded into the database names Modules. To check that, run (in cq for example): fn:doc(/userdir/modules/xquery/migrate-helper.xqy ) against the Modules database. It should return the text of the module. Assuming you are using CPF, in the document that is not being triggered, take a look at the properties: xdmp:document-properties($uri) where $uri is the URI of the document that did not get updated. Those are some places to start. -Danny From: general-boun...@developer.marklogic.com [mailto: general-boun...@developer.marklogic.com] On Behalf Of Raghu Sent: Friday, September 16, 2011 5:58 AM To: General MarkLogic Developer Discussion Subject: [MarkLogic Dev General] trigger not getting invoked in a clustered environment Hi All, I'm having a migrator xquery which I need to invoke when a user does an operation and so I've used a trigger on the user's directory with infinity as depth. It is working fine in normal environment but it isn't invoking the migrator query in a clustered environment. Can somebody help me out? PFB the trigger import module namespace trgr=http://marklogic.com/xdmp/triggers; at /MarkLogic/triggers.xqy; trgr:create-trigger(migrate folders, migrate folders, trgr:trigger-data-event( trgr:directory-scope(/userdir/1234/, infinity), trgr:document-content(modify), trgr:post-commit()), trgr:trigger-module(xdmp:database(Modules), /userdir/modules/xquery/, migrate-helper.xqy), fn:true(), xdmp:default-permissions()) Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
[MarkLogic Dev General] trigger not getting invoked in a clustered environment
Hi All, I'm having a migrator xquery which I need to invoke when a user does an operation and so I've used a trigger on the user's directory with infinity as depth. It is working fine in normal environment but it isn't invoking the migrator query in a clustered environment. Can somebody help me out? PFB the trigger import module namespace trgr=http://marklogic.com/xdmp/triggers; at /MarkLogic/triggers.xqy; trgr:create-trigger(migrate folders, migrate folders, trgr:trigger-data-event( trgr:directory-scope(/userdir/1234/, infinity), trgr:document-content(modify), trgr:post-commit()), trgr:trigger-module(xdmp:database(Modules), /userdir/modules/xquery/, migrate-helper.xqy), fn:true(), xdmp:default-permissions()) Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general
Re: [MarkLogic Dev General] Reg: Advanced search
Hi Ambika, On Fri, May 6, 2011 at 7:42 PM, Abhishek53 S abhishek5...@tcs.com wrote: Hi Ambika Marklogic provide the full text search over the element value so if search:search or search:resolve uses the qtext without constraint as full text over elements value.The element attribute value constraint is right in definition. Boolean operator should come as part of the qtext as input to the search:parse.pass the option to both the search:parse and search:resolve too. Let me know if your query is not clear. regards Abhishek Srivastav Tata Consultancy Services Cell:- +91-9883389968 Mailto: abhishek5...@tcs.com Website: http://www.tcs.com Experience certainty.IT Services Business Solutions Outsourcing From: ambika arumugam ambikaarumuga...@gmail.com To: General MarkLogic Developer Discussion general@developer.marklogic.com Date: 05/06/2011 04:53 PM Subject: Re: [MarkLogic Dev General] Reg: Advanced search Sent by: general-boun...@developer.marklogic.com -- Hi Abhishek, I am trying to get all documents that match 00021-001 in value attributes of data element and English in elements import module namespace search = *http://marklogic.com/appservices/search * http://marklogic.com/appservices/search at /MarkLogic/appservices/search/search.xqy; let $options := options xmlns=*http://marklogic.com/appservices/search*http://marklogic.com/appservices/search constraint name=prop value element ns= name=data/ attribute ns= name=value/ /value /constraint /options return search:resolve(search:parse(prop:00021-001 ,$options)) I am getting results as expected. But the input to search:parse is expected to come dynamically( with AND/NOT/ OR Operators) to be like this search:parse('prop:00021-001 AND English',$options) in which, 00021-001 is the attribute value where as the English is the Element value. I want the documents that match the criteria given to search:parse i.e. It should contain 00021-001 in attribute value for the element data and English in any element field. Regards, Ambika On Fri, May 6, 2011 at 10:43 AM, Abhishek53 S *abhishek5...@tcs.com*abhishek5...@tcs.com wrote: Ambika I am not much clear about your requirement. It seems you are not passing the search *options *to search:parse API. Please let me know the actual requirement with code snippet Regards Abhishek Srivastav Systems Engineer Tata Consultancy Services Cell:- +91-9883389968 Mailto: *abhishek5...@tcs.com* abhishek5...@tcs.com Website: *http://www.tcs.com* http://www.tcs.com/ Experience certainty.IT Services Business Solutions Outsourcing From: ambika arumugam *ambikaarumuga...@gmail.com*ambikaarumuga...@gmail.com To: General MarkLogic Developer Discussion * general@developer.marklogic.com* general@developer.marklogic.com Date: 05/06/2011 10:10 AM Subject: [MarkLogic Dev General] Reg: Advanced search Sent by: *general-boun...@developer.marklogic.com*general-boun...@developer.marklogic.com -- hi all, I am performing a search on elements as well attributes using search API. I am using constraints to do the element-attribute search. For the xml, data value=00021-001/ langEnglish/lang I am using, import module namespace search = *http://marklogic.com/appservices/search * http://marklogic.com/appservices/search at /MarkLogic/appservices/search/search.xqy; let $options := options xmlns=*http://marklogic.com/appservices/search*http://marklogic.com/appservices/search constraint name=prop value element ns= name=data/ attribute ns= name=value/ /value /constraint /options let $h:=search:parse('English AND prop:00021-001') return search:resolve($h, $options) For me the search for English should be made in all the element nodes where as prop:00021-001should work with the constraint(On element-attribute value of data element with attribute value) If i try the same with the search:search it works search:search('prop:00021-001', $options) But i need to perform the constraint search(for eleemnt-attribute values ) along with element-values. So i go for search:resolve(search:parse('English AND prop:00021-001')) I am missing something to get this working. Regards Ambika ___ General mailing list* **General@developer.marklogic.com* General@developer.marklogic.com* **http://developer.marklogic.com/mailman/listinfo/general*http://developer.marklogic.com/mailman/listinfo/general =-=-= Notice: The information contained
Re: [MarkLogic Dev General] Reg: Advanced search
HI Ambika Did you try additioanl query in options?? See if this hlps http://developer.marklogic.com/pipermail/general/2010-June/005590.html On Mon, May 23, 2011 at 9:28 PM, Raghu raghupathy.visweswa...@gmail.comwrote: Hi Ambika, On Fri, May 6, 2011 at 7:42 PM, Abhishek53 S abhishek5...@tcs.com wrote: Hi Ambika Marklogic provide the full text search over the element value so if search:search or search:resolve uses the qtext without constraint as full text over elements value.The element attribute value constraint is right in definition. Boolean operator should come as part of the qtext as input to the search:parse.pass the option to both the search:parse and search:resolve too. Let me know if your query is not clear. regards Abhishek Srivastav Tata Consultancy Services Cell:- +91-9883389968 Mailto: abhishek5...@tcs.com Website: http://www.tcs.com Experience certainty.IT Services Business Solutions Outsourcing From: ambika arumugam ambikaarumuga...@gmail.com To: General MarkLogic Developer Discussion general@developer.marklogic.com Date: 05/06/2011 04:53 PM Subject: Re: [MarkLogic Dev General] Reg: Advanced search Sent by: general-boun...@developer.marklogic.com -- Hi Abhishek, I am trying to get all documents that match 00021-001 in value attributes of data element and English in elements import module namespace search = * http://marklogic.com/appservices/search*http://marklogic.com/appservices/search at /MarkLogic/appservices/search/search.xqy; let $options := options xmlns=*http://marklogic.com/appservices/search*http://marklogic.com/appservices/search constraint name=prop value element ns= name=data/ attribute ns= name=value/ /value /constraint /options return search:resolve(search:parse(prop:00021-001 ,$options)) I am getting results as expected. But the input to search:parse is expected to come dynamically( with AND/NOT/ OR Operators) to be like this search:parse('prop:00021-001 AND English',$options) in which, 00021-001 is the attribute value where as the English is the Element value. I want the documents that match the criteria given to search:parse i.e. It should contain 00021-001 in attribute value for the element data and English in any element field. Regards, Ambika On Fri, May 6, 2011 at 10:43 AM, Abhishek53 S *abhishek5...@tcs.com*abhishek5...@tcs.com wrote: Ambika I am not much clear about your requirement. It seems you are not passing the search *options *to search:parse API. Please let me know the actual requirement with code snippet Regards Abhishek Srivastav Systems Engineer Tata Consultancy Services Cell:- +91-9883389968 Mailto: *abhishek5...@tcs.com* abhishek5...@tcs.com Website: *http://www.tcs.com* http://www.tcs.com/ Experience certainty.IT Services Business Solutions Outsourcing From: ambika arumugam *ambikaarumuga...@gmail.com*ambikaarumuga...@gmail.com To: General MarkLogic Developer Discussion * general@developer.marklogic.com* general@developer.marklogic.com Date: 05/06/2011 10:10 AM Subject: [MarkLogic Dev General] Reg: Advanced search Sent by: *general-boun...@developer.marklogic.com*general-boun...@developer.marklogic.com -- hi all, I am performing a search on elements as well attributes using search API. I am using constraints to do the element-attribute search. For the xml, data value=00021-001/ langEnglish/lang I am using, import module namespace search = * http://marklogic.com/appservices/search*http://marklogic.com/appservices/search at /MarkLogic/appservices/search/search.xqy; let $options := options xmlns=*http://marklogic.com/appservices/search*http://marklogic.com/appservices/search constraint name=prop value element ns= name=data/ attribute ns= name=value/ /value /constraint /options let $h:=search:parse('English AND prop:00021-001') return search:resolve($h, $options) For me the search for English should be made in all the element nodes where as prop:00021-001should work with the constraint(On element-attribute value of data element with attribute value) If i try the same with the search:search it works search:search('prop:00021-001', $options) But i need to perform the constraint search(for eleemnt-attribute values ) along with element-values. So i go for search:resolve(search:parse('English AND prop:00021-001')) I am missing something to get this working. Regards Ambika ___ General mailing list* **General
[MarkLogic Dev General] sending an xml and pdf in a single response
Hi, I have an xml which contains the information about a pdf which is also stored as a binary file in the same ML db as the xml. Now I need to send both the xml and pdf in a single response and should be able to retrieve them separately in Java using HttpClient. How do I do that? Can I send it as a multipart response? Thanks in advance Raghu ___ General mailing list General@developer.marklogic.com http://developer.marklogic.com/mailman/listinfo/general