You say that now.... :)

Wait until I seriously start the thread on getting rid of TJWS. See 
https://github.com/NanoHttpd/nanohttpd/issues/63 for a taste. :)


        Yaron


________________________________
From: [email protected] <[email protected]> on 
behalf of Traun Leyden <[email protected]>
Sent: Friday, May 02, 2014 11:26 AM
To: [email protected]
Cc: Wayne Carter
Subject: Re: Does Couchbase lite want to support multiple listeners sharing the 
same underlying database file?


Yeah, that approach seems like it will help you keep a grip on your sanity.


On Fri, May 2, 2014 at 9:21 AM, Yaron Goland 
<[email protected]<mailto:[email protected]>> wrote:

And that's why I send mails to the group. :)


Normally I wouldn't care about the change listeners because I don't ever use 
them (we ONLY talk over HTTP so nobody gets to use the manager object directly) 
but I can see this being a problem for continuous replications which do need 
the change listeners.


I suspect the only sane approach is to take advantage of TJWS's dual listener 
support. It is able to listen to more than one port at once. Although I'll 
probably have to write a custom adapter to get it to do what I want. But that 
isn't brain surgery.


    Thanks,


                Yaron


________________________________
From: 
[email protected]<mailto:[email protected]> 
<[email protected]<mailto:[email protected]>> 
on behalf of Jens Alfke <[email protected]<mailto:[email protected]>>
Sent: Friday, May 02, 2014 8:36 AM
To: [email protected]<mailto:[email protected]>
Cc: Wayne Carter; Traun Leyden
Subject: Re: Does Couchbase lite want to support multiple listeners sharing the 
same underlying database file?


On May 2, 2014, at 8:20 AM, Yaron Goland 
<[email protected]<mailto:[email protected]>> wrote:

So today, in theory anyway, I should be able to set up two separate listeners 
on the same box (Android or otherwise) and have both listeners talk to the same 
database file without problem. SQLite certainly supports this behavior.

This won't quite work. The Document class wants to know when changes are made 
to the database so it can update its internal state like currentRevision. 
Internally, when multiple threads are using the same database file, they post 
notifications so one Database instance can discover that another one has 
changed documents. (This happens during replication, for example.) But those 
notifications are within the process, so if two processes have the same 
database open they won't notify each other.

This wouldn't be that hard to fix (assuming that Android has interprocess 
notifications?) but it's just never come up as something that needed to be 
done. It's a non-issue on iOS due to app sandboxing.

But I've heard Jens mentioning that Couchbase Lite might be changing their 
underlying database.
So I wanted to check how committed is Couchbase to continuing this behavior?

ForestDB fundamentally has good concurrency support. (Better than SQLite's, in 
that a writer doesn't block readers.) But I think at the moment it doesn't have 
any way to arbitrate multiple processes trying to write to the database at the 
same time; they won't corrupt the database, it's just that the last one to 
commit would probably overwrite the other's changes. I'll ask the team if 
that's so, and if they plan to add some kind of file-locking to guard against 
that. (If not, it's something CBL could probably add on its own.)

--Jens

--
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/68E7AE8C-C607-4A42-A1B3-38D4F7F1D2E7%40couchbase.com<https://groups.google.com/d/msgid/mobile-couchbase/68E7AE8C-C607-4A42-A1B3-38D4F7F1D2E7%40couchbase.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/1399047661645.80137%40microsoft.com<https://groups.google.com/d/msgid/mobile-couchbase/1399047661645.80137%40microsoft.com?utm_medium=email&utm_source=footer>.

For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/CACSSHCEqe1%2BizaZ-%3DqhVP%3Dns_jnWATx5s%3D6HtduRzyjOXTOVWw%40mail.gmail.com<https://groups.google.com/d/msgid/mobile-couchbase/CACSSHCEqe1%2BizaZ-%3DqhVP%3Dns_jnWATx5s%3D6HtduRzyjOXTOVWw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/1399061377457.57852%40microsoft.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to