Re: [Neo4j] Database constraints have changed error what is the actual behavior

2018-04-23 Thread 'Mattias Finné' via Neo4j
The exception is that the database schema changed from the point your 
"other" schema-changing transaction up to the time it wanted to commit. The 
exception has a transient status code, which at least from the embedded API 
results in a org.neo4j.graphdb.

TransientFailureException which means that it should just be retried and it'll 
likely succeed the next time. 
The transient nature of it means that there's a way forward and is not really a 
bug, it's intended behaviour. 
The reason this limitation was introduced was originally for HA where it serves 
as a line of defence for preventing 
uniqueness constraint violations from HA-slaves right when the constraint is 
being activated.


On Monday, April 23, 2018 at 3:16:59 PM UTC+2, Lexia Fantasy wrote:
>
> Since I was using some code to generate dynamic indexes I could not 
> extract the problematic piece easily from the unmanaged extension we have. 
>
> I tried to create a simple utility which tries to do the same as the other 
> code with and embedded db 
> But the problem is that it times out on index creation
>
> Meanwhile I have this question?
>
> Is there a transaction log viewer or something which can show me what were 
> the commands in a transaction?
>
> org.neo4j.kernel.api.exceptions.TransactionFailureException: Database 
> constraints have changed (txId=3937) after this transaction (txId=3936) 
> started, which is not yet supported. Please retry your transaction to 
> ensure all constraints are executed
> In the above case basically I want to see what was the contents of the 
> transaction 3937 .
> Is there a way to do that ?
>
> I will create a defect as well to see with the code but it does not 
> reproduce the  original problem but stuck at a different place. 
>
> George S
>
>
> On Sat, Apr 14, 2018 at 6:09 PM, George & Sherin  > wrote:
>
>> Sure will do that later today or tommorow 
>>
>>
>> On Sat, Apr 14, 2018 at 5:52 PM, 'Michael Hunger' via Neo4j <
>> ne...@googlegroups.com > wrote:
>>
>>> Would you mind creating a GitHub issue at github.com/neo4j/neo4j 
>>> sharing your commands and error message 
>>>
>>> You didn't share the actual queries that create the ` :12356Person`.
>>>
>>> Michael
>>>
>>> On Fri, Apr 13, 2018 at 5:38 AM, George & Sherin >> > wrote:
>>>
 Already present Constraint create constraint on (n:Tenant) assert n.id is 
 unique
  each of this transaction contain  
 Txn1 
 create (n:Tenant {id:1234})
 create constraint on (n:1234Person) assert n. ssn is 
 unique
 Txn2
 create (n:Tenant {id:12356})
 create constraint on (n:12356Person) assert n. ssn is 
 unique

 Txn3
 create (n:Tenant {id:12345})
 create constraint on (n:12345Person) assert n. ssn is 
 unique

 When I look at it the data in any of the transactions are not affected 
 by the new constraints added in the transaction.

 On Thu, Apr 12, 2018 at 10:34 PM, Lexia Fantasy >>> > wrote:

> Hi all,
>
>
> https://neo4j.com/developer/kb/explanation-of-error-database-constraints-have-changed-txid-84-after-this-transaction-txid-81-started/
>
> I ran into this problem 
> I have a constraint on label Tenant  id  is unique 
>
> create constraint on (n:Tenant) assert n.id is unique
>
> Now when I create a  Tenant node with with label Tenant I am trying to 
> create a new unique constraint for another sets on nodes having labels 
> tenantidPersons
> create constraint on (n:Persons) assert n.ssn is unique 
>
> I am getting the below error when I try to multiple tenants 
> concurrently where each tenant creation try to create a constraint for 
> its 
> persons
>
> org.neo4j.kernel.api.exceptions.TransactionFailureException: Database 
> constraints have changed (txId=3937) after this transaction (txId=3936) 
> started, which is not yet supported. Please retry your transaction to 
> ensure all constraints are executed
>
> As per the example the second constraint is only applicable for a 
> person is created in a tenant. But I get the error while creating the 
> tenant itself. 
>
> Is this bug or expected behavior. IS the option only to retry the 
> transaction which does not sound right.
>
>
> George S
>
>
> -- 
> You received this message because you are subscribed to the Google 
> Groups "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send 
> an email to neo4j+un...@googlegroups.com .
> For more options, visit https://groups.google.com/d/optout.
>

 -- 
 You received this message because you are subscribed to the Google 
 Groups "Neo4j" group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to neo4j+un...@googlegroups.com .
 For more options, visit https://groups.google.com/d/optout.

Re: [Neo4j] Database constraints have changed error what is the actual behavior

2018-04-23 Thread George & Sherin
Since I was using some code to generate dynamic indexes I could not extract
the problematic piece easily from the unmanaged extension we have.

I tried to create a simple utility which tries to do the same as the other
code with and embedded db
But the problem is that it times out on index creation

Meanwhile I have this question?

Is there a transaction log viewer or something which can show me what were
the commands in a transaction?

org.neo4j.kernel.api.exceptions.TransactionFailureException: Database
constraints have changed (txId=3937) after this transaction (txId=3936)
started, which is not yet supported. Please retry your transaction to
ensure all constraints are executed
In the above case basically I want to see what was the contents of the
transaction 3937 .
Is there a way to do that ?

I will create a defect as well to see with the code but it does not
reproduce the  original problem but stuck at a different place.

George S


On Sat, Apr 14, 2018 at 6:09 PM, George & Sherin 
wrote:

> Sure will do that later today or tommorow
>
>
> On Sat, Apr 14, 2018 at 5:52 PM, 'Michael Hunger' via Neo4j <
> neo4j@googlegroups.com> wrote:
>
>> Would you mind creating a GitHub issue at github.com/neo4j/neo4j sharing
>> your commands and error message
>>
>> You didn't share the actual queries that create the ` :12356Person`.
>>
>> Michael
>>
>> On Fri, Apr 13, 2018 at 5:38 AM, George & Sherin 
>> wrote:
>>
>>> Already present Constraint create constraint on (n:Tenant) assert n.id is
>>> unique
>>>  each of this transaction contain
>>> Txn1
>>> create (n:Tenant {id:1234})
>>> create constraint on (n:1234Person) assert n. ssn is
>>> unique
>>> Txn2
>>> create (n:Tenant {id:12356})
>>> create constraint on (n:12356Person) assert n. ssn is
>>> unique
>>>
>>> Txn3
>>> create (n:Tenant {id:12345})
>>> create constraint on (n:12345Person) assert n. ssn is
>>> unique
>>>
>>> When I look at it the data in any of the transactions are not affected
>>> by the new constraints added in the transaction.
>>>
>>> On Thu, Apr 12, 2018 at 10:34 PM, Lexia Fantasy 
>>> wrote:
>>>
 Hi all,

 https://neo4j.com/developer/kb/explanation-of-error-database
 -constraints-have-changed-txid-84-after-this-transaction-txi
 d-81-started/

 I ran into this problem
 I have a constraint on label Tenant  id  is unique

 create constraint on (n:Tenant) assert n.id is unique

 Now when I create a  Tenant node with with label Tenant I am trying to
 create a new unique constraint for another sets on nodes having labels
 tenantidPersons
 create constraint on (n:Persons) assert n.ssn is unique

 I am getting the below error when I try to multiple tenants
 concurrently where each tenant creation try to create a constraint for its
 persons

 org.neo4j.kernel.api.exceptions.TransactionFailureException: Database
 constraints have changed (txId=3937) after this transaction (txId=3936)
 started, which is not yet supported. Please retry your transaction to
 ensure all constraints are executed

 As per the example the second constraint is only applicable for a
 person is created in a tenant. But I get the error while creating the
 tenant itself.

 Is this bug or expected behavior. IS the option only to retry the
 transaction which does not sound right.


 George S


 --
 You received this message because you are subscribed to the Google
 Groups "Neo4j" group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to neo4j+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neo4j+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Neo4j" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to neo4j+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Neo4j] Database constraints have changed error what is the actual behavior

2018-04-14 Thread George & Sherin
Sure will do that later today or tommorow


On Sat, Apr 14, 2018 at 5:52 PM, 'Michael Hunger' via Neo4j <
neo4j@googlegroups.com> wrote:

> Would you mind creating a GitHub issue at github.com/neo4j/neo4j sharing
> your commands and error message
>
> You didn't share the actual queries that create the ` :12356Person`.
>
> Michael
>
> On Fri, Apr 13, 2018 at 5:38 AM, George & Sherin 
> wrote:
>
>> Already present Constraint create constraint on (n:Tenant) assert n.id is
>> unique
>>  each of this transaction contain
>> Txn1
>> create (n:Tenant {id:1234})
>> create constraint on (n:1234Person) assert n. ssn is unique
>> Txn2
>> create (n:Tenant {id:12356})
>> create constraint on (n:12356Person) assert n. ssn is
>> unique
>>
>> Txn3
>> create (n:Tenant {id:12345})
>> create constraint on (n:12345Person) assert n. ssn is
>> unique
>>
>> When I look at it the data in any of the transactions are not affected by
>> the new constraints added in the transaction.
>>
>> On Thu, Apr 12, 2018 at 10:34 PM, Lexia Fantasy 
>> wrote:
>>
>>> Hi all,
>>>
>>> https://neo4j.com/developer/kb/explanation-of-error-database
>>> -constraints-have-changed-txid-84-after-this-transaction-
>>> txid-81-started/
>>>
>>> I ran into this problem
>>> I have a constraint on label Tenant  id  is unique
>>>
>>> create constraint on (n:Tenant) assert n.id is unique
>>>
>>> Now when I create a  Tenant node with with label Tenant I am trying to
>>> create a new unique constraint for another sets on nodes having labels
>>> tenantidPersons
>>> create constraint on (n:Persons) assert n.ssn is unique
>>>
>>> I am getting the below error when I try to multiple tenants concurrently
>>> where each tenant creation try to create a constraint for its persons
>>>
>>> org.neo4j.kernel.api.exceptions.TransactionFailureException: Database
>>> constraints have changed (txId=3937) after this transaction (txId=3936)
>>> started, which is not yet supported. Please retry your transaction to
>>> ensure all constraints are executed
>>>
>>> As per the example the second constraint is only applicable for a person
>>> is created in a tenant. But I get the error while creating the tenant
>>> itself.
>>>
>>> Is this bug or expected behavior. IS the option only to retry the
>>> transaction which does not sound right.
>>>
>>>
>>> George S
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neo4j+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Neo4j" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to neo4j+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to neo4j+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Neo4j] Database constraints have changed error what is the actual behavior

2018-04-14 Thread 'Michael Hunger' via Neo4j
Would you mind creating a GitHub issue at github.com/neo4j/neo4j sharing
your commands and error message

You didn't share the actual queries that create the ` :12356Person`.

Michael

On Fri, Apr 13, 2018 at 5:38 AM, George & Sherin 
wrote:

> Already present Constraint create constraint on (n:Tenant) assert n.id is
> unique
>  each of this transaction contain
> Txn1
> create (n:Tenant {id:1234})
> create constraint on (n:1234Person) assert n. ssn is unique
> Txn2
> create (n:Tenant {id:12356})
> create constraint on (n:12356Person) assert n. ssn is unique
>
> Txn3
> create (n:Tenant {id:12345})
> create constraint on (n:12345Person) assert n. ssn is unique
>
> When I look at it the data in any of the transactions are not affected by
> the new constraints added in the transaction.
>
> On Thu, Apr 12, 2018 at 10:34 PM, Lexia Fantasy 
> wrote:
>
>> Hi all,
>>
>> https://neo4j.com/developer/kb/explanation-of-error-database
>> -constraints-have-changed-txid-84-after-this-transaction-txid-81-started/
>>
>> I ran into this problem
>> I have a constraint on label Tenant  id  is unique
>>
>> create constraint on (n:Tenant) assert n.id is unique
>>
>> Now when I create a  Tenant node with with label Tenant I am trying to
>> create a new unique constraint for another sets on nodes having labels
>> tenantidPersons
>> create constraint on (n:Persons) assert n.ssn is unique
>>
>> I am getting the below error when I try to multiple tenants concurrently
>> where each tenant creation try to create a constraint for its persons
>>
>> org.neo4j.kernel.api.exceptions.TransactionFailureException: Database
>> constraints have changed (txId=3937) after this transaction (txId=3936)
>> started, which is not yet supported. Please retry your transaction to
>> ensure all constraints are executed
>>
>> As per the example the second constraint is only applicable for a person
>> is created in a tenant. But I get the error while creating the tenant
>> itself.
>>
>> Is this bug or expected behavior. IS the option only to retry the
>> transaction which does not sound right.
>>
>>
>> George S
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Neo4j" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to neo4j+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to neo4j+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Neo4j] Database constraints have changed error what is the actual behavior

2018-04-13 Thread Kamal Murthy
Hi George,

Here is my suggestion:

Create nodes: Tenant and Tenants (your tenantidPersons)

1. create constraint on (n:Tenant) assert n.id is unique

2. create constraint on (p:Tenants) assert p.ssn is unique

Data model:


-Kamal

On Thursday, April 12, 2018 at 8:38:22 PM UTC-7, Lexia Fantasy wrote:
>
> Already present Constraint create constraint on (n:Tenant) assert n.id is 
> unique
>  each of this transaction contain  
> Txn1 
> create (n:Tenant {id:1234})
> create constraint on (n:1234Person) assert n. ssn is unique
> Txn2
> create (n:Tenant {id:12356})
> create constraint on (n:12356Person) assert n. ssn is unique
>
> Txn3
> create (n:Tenant {id:12345})
> create constraint on (n:12345Person) assert n. ssn is unique
>
> When I look at it the data in any of the transactions are not affected by 
> the new constraints added in the transaction.
>
> On Thu, Apr 12, 2018 at 10:34 PM, Lexia Fantasy  > wrote:
>
>> Hi all,
>>
>>
>> https://neo4j.com/developer/kb/explanation-of-error-database-constraints-have-changed-txid-84-after-this-transaction-txid-81-started/
>>
>> I ran into this problem 
>> I have a constraint on label Tenant  id  is unique 
>>
>> create constraint on (n:Tenant) assert n.id is unique
>>
>> Now when I create a  Tenant node with with label Tenant I am trying to 
>> create a new unique constraint for another sets on nodes having labels 
>> tenantidPersons
>> create constraint on (n:Persons) assert n.ssn is unique 
>>
>> I am getting the below error when I try to multiple tenants concurrently 
>> where each tenant creation try to create a constraint for its persons
>>
>> org.neo4j.kernel.api.exceptions.TransactionFailureException: Database 
>> constraints have changed (txId=3937) after this transaction (txId=3936) 
>> started, which is not yet supported. Please retry your transaction to 
>> ensure all constraints are executed
>>
>> As per the example the second constraint is only applicable for a person 
>> is created in a tenant. But I get the error while creating the tenant 
>> itself. 
>>
>> Is this bug or expected behavior. IS the option only to retry the 
>> transaction which does not sound right.
>>
>>
>> George S
>>
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Neo4j" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to neo4j+un...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Neo4j] Database constraints have changed error what is the actual behavior

2018-04-12 Thread George & Sherin
Already present Constraint create constraint on (n:Tenant) assert n.id is
unique
 each of this transaction contain
Txn1
create (n:Tenant {id:1234})
create constraint on (n:1234Person) assert n. ssn is unique
Txn2
create (n:Tenant {id:12356})
create constraint on (n:12356Person) assert n. ssn is unique

Txn3
create (n:Tenant {id:12345})
create constraint on (n:12345Person) assert n. ssn is unique

When I look at it the data in any of the transactions are not affected by
the new constraints added in the transaction.

On Thu, Apr 12, 2018 at 10:34 PM, Lexia Fantasy 
wrote:

> Hi all,
>
> https://neo4j.com/developer/kb/explanation-of-error-
> database-constraints-have-changed-txid-84-after-this-
> transaction-txid-81-started/
>
> I ran into this problem
> I have a constraint on label Tenant  id  is unique
>
> create constraint on (n:Tenant) assert n.id is unique
>
> Now when I create a  Tenant node with with label Tenant I am trying to
> create a new unique constraint for another sets on nodes having labels
> tenantidPersons
> create constraint on (n:Persons) assert n.ssn is unique
>
> I am getting the below error when I try to multiple tenants concurrently
> where each tenant creation try to create a constraint for its persons
>
> org.neo4j.kernel.api.exceptions.TransactionFailureException: Database
> constraints have changed (txId=3937) after this transaction (txId=3936)
> started, which is not yet supported. Please retry your transaction to
> ensure all constraints are executed
>
> As per the example the second constraint is only applicable for a person
> is created in a tenant. But I get the error while creating the tenant
> itself.
>
> Is this bug or expected behavior. IS the option only to retry the
> transaction which does not sound right.
>
>
> George S
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to neo4j+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Neo4j] Database constraints have changed error what is the actual behavior

2018-04-12 Thread Lexia Fantasy
Hi all,

https://neo4j.com/developer/kb/explanation-of-error-database-constraints-have-changed-txid-84-after-this-transaction-txid-81-started/

I ran into this problem 
I have a constraint on label Tenant  id  is unique 

create constraint on (n:Tenant) assert n.id is unique

Now when I create a  Tenant node with with label Tenant I am trying to 
create a new unique constraint for another sets on nodes having labels 
tenantidPersons
create constraint on (n:Persons) assert n.ssn is unique 

I am getting the below error when I try to multiple tenants concurrently 
where each tenant creation try to create a constraint for its persons

org.neo4j.kernel.api.exceptions.TransactionFailureException: Database 
constraints have changed (txId=3937) after this transaction (txId=3936) 
started, which is not yet supported. Please retry your transaction to 
ensure all constraints are executed

As per the example the second constraint is only applicable for a person is 
created in a tenant. But I get the error while creating the tenant itself. 

Is this bug or expected behavior. IS the option only to retry the 
transaction which does not sound right.


George S


-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.