Thanks for the responses. But looks like to move dbs and servers to prod or qa from the dev env, not an easy task: - backups very sensitive, does not work on diff. platforms or something else. (I have both platform winnt, architecture one Intel another Amd). - export/import supports only configurations. - the application to be moved needs to be packaged manually, there is no way to create deployment file.
So I have to manually create all dbs, servers. So as for a data I had to write the xqy to save all docs from db to disk, copy them to target box, then run document-insert. Then I believe I can load config files. Ahhh:( Then manually save all application files, copy and insert to the target or may be I can do the same thing as I did for the data? And then the all these steps for production. ildus -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of [email protected] Sent: Monday, February 25, 2013 3:00 PM To: [email protected] Subject: General Digest, Vol 104, Issue 83 Send General mailing list submissions to [email protected] To subscribe or unsubscribe via the World Wide Web, visit http://developer.marklogic.com/mailman/listinfo/general or, via email, send a message with subject or body 'help' to [email protected] You can reach the person managing the list at [email protected] When replying, please edit your Subject line so it is more specific than "Re: Contents of General digest..." Today's Topics: 1. Re: Single transaction and rollback on failure (Michael Blakeley) 2. Re: Getting Bad word size during restore db (Michael Blakeley) 3. Re: Getting Bad word size during restore db (Danny Sokolsky) 4. Re: Getting Bad word size during restore db (Michael Blakeley) 5. Re: Asyncronous Status Updates (Tim) ---------------------------------------------------------------------- Message: 1 Date: Mon, 25 Feb 2013 09:53:54 -0800 From: Michael Blakeley <[email protected]> Subject: Re: [MarkLogic Dev General] Single transaction and rollback on failure To: MarkLogic Developer Discussion <[email protected]> Message-ID: <[email protected]> Content-Type: text/plain; charset=iso-8859-1 Which version of the server are you using? You haven't said what's going wrong. What's the problem? If you have an error message it's always a good idea to paste that in. I suspect that you're seeing something like "XDMP-MULTIDBSTMT: Cannot process different-database requests with same-statement isolation". If so the error message says it all: you can't update two different databases in the same statement. This is covered at http://docs.marklogic.com/guide/app-dev/transactions#id_24388 > You may not use same-statement isolation when using the database option of > xdmp:eval orxdmp:invoke to specify a different database than the database in > the calling statement's context. If your eval/invoke code needs to use a > different database, use different-transaction isolation. Using different-transaction isolation means that you're really committing two transactions, each atomic in its own database but discrete from each other. You can try to structure your update sequence so that the first update will be the sensitive one, and will automatically keep the second one from running if it throws an error. But I can't think of a way to update two different databases in a single ACID transaction. I don't think multi-statement transactions will help. You could try XA, I suppose, but that gets complicated quite quickly and I wouldn't recommend it. At this point I would back up and revisit the design. Why do you want to update two databases at once? If two documents need to participate in a transaction, maybe they should be in the same database. Then you wouldn't need any invokes at all. In passing, the xdmp:quote($input) is probably unnecessary. I imagine you added that in an attempt to work around XDMP-MULTIDBSTMT, but it won't. -- Mike On 25 Feb 2013, at 07:50 , Jonna Marry <[email protected]> wrote: > Hi, > > I have a scenario to insert 2 different documents in 2 different databases in > single transaction.If either one fails, I need to roll back the insert > operation. > I tried using "xdmp:transaction-mode" and > "<isolation>same-statement</isolation> " options. It would be helpful if I > get some suggestion to resolve this issue. > > > xquery version "1.0-ml"; > declare option xdmp:transaction-mode "update"; > > let $_1 := xdmp:invoke( ("/aa.xqy")), > ( > xs:QName("input"), > xdmp:quote($input), > > ), > <options xmlns="xdmp:eval"> > > > > <isolation>same-statement</isolation> > > <database>{xdmp:database("test1")}</database> > </options> > ) let $_2 := xdmp:invoke( > ("/aa.xqy")), > ( > xs:QName("input"), > xdmp:quote($input), > > ), > <options xmlns="xdmp:eval"> > > > > <isolation>same-statement</isolation> > > <database>{xdmp:database("test2")}</database> > </options> > ) return "success" > note : > > Regards, > Jonna. > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general ------------------------------ Message: 2 Date: Mon, 25 Feb 2013 10:24:03 -0800 From: Michael Blakeley <[email protected]> Subject: Re: [MarkLogic Dev General] Getting Bad word size during restore db To: MarkLogic Developer Discussion <[email protected]> Message-ID: <[email protected]> Content-Type: text/plain; charset=us-ascii That error probably means you should contact support. Support may ask you to check the integrity of the files you transferred: some files might have been truncated or bits flipped. Many tools aren't particularly good about checking for errors or handling timeouts. I generally use rsync to move important files, because it is resumable and uses checksums. For configuration of a new system, look into http://docs.marklogic.com/guide/admin/export-import -- Mike On 25 Feb 2013, at 09:45 , Ildus Hakov <[email protected]> wrote: > Hi, > > I am trying to replicate the db from one box to another using backup/restore > ML functionality. The source db is 5.04 and a target db is 6.0. > I did backup, copied them to target box and did restore on target box. > Then got a message: Bad word size > > What does it mean could not find. > Also question/suggestion: Looks like I need to create first db, forest, > modules databases on target box with exact names which is not convenient > then do a restore. Still no go. > > Thanks, > ildus > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general ------------------------------ Message: 3 Date: Mon, 25 Feb 2013 18:27:36 +0000 From: Danny Sokolsky <[email protected]> Subject: Re: [MarkLogic Dev General] Getting Bad word size during restore db To: MarkLogic Developer Discussion <[email protected]> Message-ID: <d4f697174c071d46b891b38bfc6eafa606e...@exchg10-be01.marklogic.com> Content-Type: text/plain; charset="us-ascii" Also, make sure the 2 machines are the same platform and architecture: xdmp:platform(), xdmp:architecture() databases from one platform/architecture cannot be just moved to use on another platform/architecture. If you need to do that, use mlcp (or xqsync). -Danny -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Michael Blakeley Sent: Monday, February 25, 2013 10:24 AM To: MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] Getting Bad word size during restore db That error probably means you should contact support. Support may ask you to check the integrity of the files you transferred: some files might have been truncated or bits flipped. Many tools aren't particularly good about checking for errors or handling timeouts. I generally use rsync to move important files, because it is resumable and uses checksums. For configuration of a new system, look into http://docs.marklogic.com/guide/admin/export-import -- Mike On 25 Feb 2013, at 09:45 , Ildus Hakov <[email protected]> wrote: > Hi, > > I am trying to replicate the db from one box to another using backup/restore > ML functionality. The source db is 5.04 and a target db is 6.0. > I did backup, copied them to target box and did restore on target box. > Then got a message: Bad word size > > What does it mean could not find. > Also question/suggestion: Looks like I need to create first db, forest, > modules databases on target box with exact names which is not convenient > then do a restore. Still no go. > > Thanks, > ildus > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general ------------------------------ Message: 4 Date: Mon, 25 Feb 2013 10:30:45 -0800 From: Michael Blakeley <[email protected]> Subject: Re: [MarkLogic Dev General] Getting Bad word size during restore db To: MarkLogic Developer Discussion <[email protected]> Message-ID: <[email protected]> Content-Type: text/plain; charset=us-ascii Good point: that's even more likely than a file integrity problem. It's easy to accidentally install 32-bit on one box and 64-bit on another. -- Mike On 25 Feb 2013, at 10:27 , Danny Sokolsky <[email protected]> wrote: > Also, make sure the 2 machines are the same platform and architecture: > > xdmp:platform(), xdmp:architecture() > > databases from one platform/architecture cannot be just moved to use on > another platform/architecture. If you need to do that, use mlcp (or xqsync). > > -Danny > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Michael > Blakeley > Sent: Monday, February 25, 2013 10:24 AM > To: MarkLogic Developer Discussion > Subject: Re: [MarkLogic Dev General] Getting Bad word size during > restore db > > That error probably means you should contact support. > > Support may ask you to check the integrity of the files you transferred: some > files might have been truncated or bits flipped. Many tools aren't > particularly good about checking for errors or handling timeouts. I generally > use rsync to move important files, because it is resumable and uses checksums. > > For configuration of a new system, look into > http://docs.marklogic.com/guide/admin/export-import > > -- Mike > > On 25 Feb 2013, at 09:45 , Ildus Hakov <[email protected]> wrote: > >> Hi, >> >> I am trying to replicate the db from one box to another using backup/restore >> ML functionality. The source db is 5.04 and a target db is 6.0. >> I did backup, copied them to target box and did restore on target >> box. Then got a message: Bad word size >> >> What does it mean could not find. >> Also question/suggestion: Looks like I need to create first db, forest, >> modules databases on target box with exact names which is not convenient >> then do a restore. Still no go. >> >> Thanks, >> ildus >> _______________________________________________ >> General mailing list >> [email protected] >> http://developer.marklogic.com/mailman/listinfo/general > > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general > ------------------------------ Message: 5 Date: Mon, 25 Feb 2013 13:39:43 -0500 From: "Tim" <[email protected]> Subject: Re: [MarkLogic Dev General] Asyncronous Status Updates To: "'MarkLogic Developer Discussion'" <[email protected]> Message-ID: <[email protected]> Content-Type: text/plain; charset="us-ascii" Hi Charles, I actually do this and keep them is a separate directory URI, but I keep the most current status available at all times while keeping a copy of each new status record for historical purposes. And they are small as you recommend. If I didn't keep a current copy of the status, I'm not sure how I would be able to avoid contention for the latest record which I would still be required to access. It would avoid locking, but I wouldn't be guaranteed to get the latest copy of the status nor to keep it current when updating it. Admittedly I haven't looked into how to choose the transaction isolation. I suppose best and customary practices are dependent on system requirements, but can you provide an example of the implementation you describe? Thanks! Tim From: [email protected] [mailto:[email protected]] On Behalf Of Charles Greer Sent: Monday, February 25, 2013 12:40 PM To: [email protected] Subject: Re: [MarkLogic Dev General] Asyncronous Status Updates Hi Tim, To follow on what Damon's suggesting-- you might also want to make the status documents very small, such that each update is really an insert. We've seen this approach a lot; accessors will aggregate the status documents for examination, but each recorded fact is its own document. "A document is a row, not a table." No update locking contention in this scenario, and you can choose the transaction isolation or synchronous/asynch to address other requirements in the system. Partitioning these status documents from the rest of the database, by collection or directory, would help organize them.` Charles -- Charles Greer Senior Engineer MarkLogic Corporation [email protected] Phone: +1 707 408 3277 www.marklogic.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://developer.marklogic.com/pipermail/general/attachments/20130225/394ae7b8/attachment-0001.html ------------------------------ _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general End of General Digest, Vol 104, Issue 83 **************************************** _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
