Hi,

Yes, I will update the documentation.

Regards,
Thomas


On Saturday, April 18, 2015, sim <[email protected]> wrote:

> Hi Noel,
>
> You was right, multi_threaded=true works fine. I can't see a thread
> blocking any more,
> but then h2 documentation has to be edited.
>
> Thank you.
>
> On Saturday, April 18, 2015 at 7:15:11 PM UTC+3, sim wrote:
>>
>> Hi Noel,
>> Thank you for your answer. Do you think it helps?  Then please explain
>> for this:
>>
>>
>> Multithreading Support
>>
>> This database is multithreading-safe. That means, if an application is
>> multi-threaded, it does not need to worry about synchronizing access to the
>> database. Internally, most requests to the same database are synchronized.
>> That means an application can use multiple threads that access the same
>> database at the same time, however if one thread executes a long running
>> query, the other threads need to wait.
>> In my case I have a thread with long running (~10s) query and I suspect
>> database block another
>> thread with another query. I hoped that MVCC had to solve this case or I
>> something don't understand.
>>
>>
>>
>>
>> On Saturday, April 18, 2015 at 5:46:35 PM UTC+3, Noel Grandin wrote:
>>>
>>> If you are not using the mvstore directly, then to get concurrency you
>>> will need to add MULTI_THREAD=TRUE to your URL.
>>> Just be warned that we are still thrashing the bugs out of that mode.
>>> On Sat, 18 Apr 2015 at 15:27, sim <[email protected]> wrote:
>>>
>>>> Hi Noel,
>>>>
>>>> Just extra information -
>>>>
>>>> Tables
>>>> =======
>>>>
>>>> CREATE TABLE CLIENTS (
>>>>                 CL_ID BIGINT NOT NULL,
>>>>                 CL_NAME VARCHAR(1024) DEFAULT '' NOT NULL,
>>>>                 CONSTRAINT CLIENTS_pk PRIMARY KEY (CL_ID)
>>>> );
>>>>
>>>> CREATE INDEX CLIENTS_idx
>>>>  ON CLIENTS
>>>>  ( CL_NAME ASC );
>>>>
>>>> CREATE TABLE REQUESTS (
>>>>                 REQ_ID IDENTITY NOT NULL,
>>>>                 REQ_TYPE INTEGER NOT NULL,
>>>>                 REQ_DATE TIMESTAMP DEFAULT current_timestamp() NOT NULL,
>>>>                 CL_ID BIGINT NOT NULL,
>>>>                 CONSTRAINT REQUESTS_pk PRIMARY KEY (REQ_ID)
>>>> );
>>>>
>>>> CREATE INDEX REQUESTS_TYPE_idx
>>>>  ON REQUESTS
>>>>  ( REQ_TYPE ASC );
>>>>
>>>> CREATE INDEX REQUESTS_DATE_idx
>>>>  ON REQUESTS
>>>>  ( REQ_DATE ASC );
>>>>
>>>> ALTER TABLE REQUESTS ADD CONSTRAINT CLIENTS_REQUESTS_fk
>>>> FOREIGN KEY (CL_ID)
>>>> REFERENCES CLIENTS (CL_ID)
>>>>
>>>> To access database I use FRM Slick, that generates queries
>>>>
>>>> for reading something like - select * from requests where req_date
>>>> between start_date and end_date.
>>>> for writing something like - insert into requests values
>>>> (default,tev,ts,clid)
>>>>
>>>> In general I need another filter for reading query - on cl_id, so it
>>>> would be
>>>>  select * from requests where req_date between start_date and end_date
>>>> and cl_id=clid,
>>>>
>>>> but I found it takes 2 times longer to execute the query than the first
>>>> one. So, after getting a result
>>>> as List[Request] just use result.filter(r => r.cl_id == clid)
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Saturday, April 18, 2015 at 3:36:10 PM UTC+3, sim wrote:
>>>>>
>>>>> Hi Noel,
>>>>>
>>>>> Nothing special - jdbc:h2:tcp://192.168.1.10:9099/stats
>>>>>
>>>>> h2-1.4.187 with default MVStore
>>>>>
>>>>>
>>>>> On Saturday, April 18, 2015 at 12:48:14 PM UTC+3, Noel Grandin wrote:
>>>>>>
>>>>>> What does your db URL look like?
>>>>>> On Fri, 17 Apr 2015 at 20:32, sim <[email protected]> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Here is a logger output from my application:
>>>>>>>
>>>>>>> 2015-04-17 20:29:07,363 - [INFO] - from application in
>>>>>>> play-akka.actor.default-dispatcher-24
>>>>>>> start to get statistic data - 2015-04-17 20:29:07.363
>>>>>>>
>>>>>>> 2015-04-17 20:29:12,425 - [INFO] - from application in
>>>>>>> application-akka.actor.default-dispatcher-12
>>>>>>> Couldn't save statistic messages - Futures timed out after [5000
>>>>>>> milliseconds]
>>>>>>>
>>>>>>> 2015-04-17 20:29:17,027 - [INFO] - from application in
>>>>>>> play-akka.actor.default-dispatcher-24
>>>>>>> end to get statistic data - 2015-04-17 20:29:17.027
>>>>>>>
>>>>>>> 2015-04-17 20:29:17,027 - [INFO] - from application in
>>>>>>> play-akka.actor.default-dispatcher-24
>>>>>>> data records for 2015-04-17 - 197873
>>>>>>>
>>>>>>>
>>>>>>> A thread reads from a table statistics data - 197873 rows (it takes
>>>>>>> about 10 seconds)
>>>>>>> Inside this interval another thread is trying to write new data into
>>>>>>> the table with 5 seconds timeout
>>>>>>> and gets timeout.
>>>>>>>
>>>>>>> So my question - does MVSTORE really support concurrent read/write?
>>>>>>>
>>>>>>> Thank you
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "H2 Database" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To post to this group, send email to [email protected].
>>>>>>> Visit this group at http://groups.google.com/group/h2-database.
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "H2 Database" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at http://groups.google.com/group/h2-database.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>  --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <javascript:_e(%7B%7D,'cvml','h2-database%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>.
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to