You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@syncope.apache.org by Denis Signoretto <de...@intesys.it> on 2012/10/23 16:31:19 UTC

Problem synching user using a Long schema attribute

Hello,

I'm synching user attributes FROM a resource TO Syncope using DBTable connector. 
The attribute used as "Column Key" is a number(10) (it's an Oracle DB).

If I define the attribute on Syncope as String it works well and when the sync starts,
all updated entries are found and triggered for the update. After deletions of all users
and redefining the attribute in Sycope as Long the sync don't match on the attribute
and no update operation occur.

In this last case the log reports:

15:31:32.298 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.buildConnectorObject ConnectorObject is builded
15:31:32.298 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.buildSyncDelta SyncDeltaBuilder is ok
15:31:32.304 INFO  org.connid.bundles.db.table.DatabaseTableConnector.sync commit sync account
15:31:32.306 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.sync Sync Account commited
15:31:32.308 DEBUG org.identityconnectors.framework.api.operations.SyncApiOp.sync Return: null
15:31:32.318 DEBUG org.identityconnectors.framework.api.operations.SyncApiOp.getLatestSyncToken Enter: getLatestSyncToken(ObjectClass: __ACCOUNT__)
15:31:32.319 INFO  org.connid.bundles.db.table.DatabaseTableConnector.checkAlive checkAlive DatabaseTable connector
15:31:32.319 INFO  org.connid.bundles.db.table.DatabaseTableConnection.test test connection using select 1 from dual
15:31:32.323 DEBUG org.connid.bundles.db.table.DatabaseTableConnection.test connection is valid

While if the attribute is defined as String the log reports:

15:29:51.349 org.connid.bundles.db.table.DatabaseTableConnector.buildConnectorObject ConnectorObject is builded
15:29:51.349 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.buildSyncDelta SyncDeltaBuilder is ok
15:29:51.354 INFO  org.connid.bundles.db.table.DatabaseTableConnector.sync commit sync account
15:29:51.356 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.sync Sync Account commited
15:29:51.374 DEBUG org.identityconnectors.framework.api.operations.GetApiOp.getObject Enter: getObject(ObjectClass: __ACCOUNT__, Attribute: {Name=__UID__, Value=[denis]}, OperationOptions: {ATTRS_TO_GET:[]})
15:29:51.375 INFO  org.connid.bundles.db.table.DatabaseTableConnector.checkAlive checkAlive DatabaseTable connector
15:29:51.376 INFO  org.connid.bundles.db.table.DatabaseTableConnection.test test connection using select 1 from dual
15:29:51.377 DEBUG org.connid.bundles.db.table.DatabaseTableConnection.test connection is valid
15:29:51.378 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.checkAlive checkAlive DatabaseTable connector ok


Can you help me understand the problem? (bug?)

Thanks,
Denis.

Re: Problem syncing user using a Long schema attribute

Posted by Francesco Chicchiriccò <il...@apache.org>.
Denis,
I guess that the only way to help you on this is to provide:

 1. the external DB schema (as SQL)
 2. the DBTable connector configuration
 3. the DB resource mapping

Please open an issue on JIRA with such information attached.

Regards.

On 24/10/2012 14:27, Denis Signoretto wrote:
>> -----Messaggio originale-----
>> Da: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
>> Inviato: mercoledì 24 ottobre 2012 14:12
>> A: syncope-user@incubator.apache.org
>> Oggetto: Re: Problem syncing user using a Long schema attribute
>>
>>
>> On 23/10/2012 18:09, Denis Signoretto wrote:
>>> Hi Francesco,
>>> so did I. 
>>>
>>> I have deleted all users, redefined the user attribute in 
>> Syncope as Long resetted the synchronization token of the 
>> external resource and launch a Sync Task manually, but the 
>> problem persist.
>>
>> I guess you have also updated the schema mapping for the DB 
>> resource in
>> order to set this Long attribute in Syncope as AccountId, right?
> Yes you are right, I did.
>>> 17:59:07.175 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.getLatestSyncToken New token value 1,351,187,890
>>>
>>> This sounds strange: is this log message appearing *after* the
>>> synchronization has actually take place or before?
> after (just after clicking on "Execute" icon in the synchorinization tasks)
>
>>> [...]
>>>
>>> -- correct a null value here ? -->> 17:59:07.227 DEBUG 
>> org.identityconnectors.framework.api.operations.ValidateApiOp.
>> validate Return: null
>>
>> Yes.
>>
>>> [...]
>>> Do you have any suggestion ?
>>>
>>> Thanks,
>>> Denis.
>>>
>>> -----Messaggio originale-----
>>> Da: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
>>> Inviato: martedì 23 ottobre 2012 17:21
>>> A: syncope-user@incubator.apache.org
>>> Oggetto: Re: Problem syncing user using a Long schema attribute
>>>
>>>
>>> On 23/10/2012 16:31, Denis Signoretto wrote:
>>>> Hello,
>>>>
>>>> I'm syncing user attributes FROM a resource TO Syncope using DBTable connector. The attribute used as "Column Key" is a number(10) (it's an Oracle DB).
>>>> If I define the attribute on Syncope as String it works well and when the sync starts, all updated entries are found and triggered for the update. After deletions of all users and redefining the attribute in Sycope as Long the sync don't match on the attribute and no update operation occur.
>>> Denis,
>>> I guess that what you're seeing is just the expected behavior: if your external resource (in Syncope) is not configured for full reconciliation, then Syncope will invoke the SYNC operation on the
>>> underlying connector that will return only entries in the DB that were modified AFTER last  synchronization.
>>>
>>> After deleting all users and redefining the user attribute in Syncope as Long, don't forget to also reset the synchronization token of the external resource.
>>>
>>> Regards.

-- 
Francesco Chicchiriccò

ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member
http://people.apache.org/~ilgrosso/


R: Problem syncing user using a Long schema attribute

Posted by Denis Signoretto <de...@intesys.it>.
> -----Messaggio originale-----
> Da: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
> Inviato: mercoledì 24 ottobre 2012 14:12
> A: syncope-user@incubator.apache.org
> Oggetto: Re: Problem syncing user using a Long schema attribute
> 
> 
> On 23/10/2012 18:09, Denis Signoretto wrote:
> > Hi Francesco,
> > so did I. 
> >
> > I have deleted all users, redefined the user attribute in 
> Syncope as Long resetted the synchronization token of the 
> external resource and launch a Sync Task manually, but the 
> problem persist.
> 
> I guess you have also updated the schema mapping for the DB 
> resource in
> order to set this Long attribute in Syncope as AccountId, right?

Yes you are right, I did.

> 
> > 17:59:07.175 DEBUG 
> org.connid.bundles.db.table.DatabaseTableConnector.getLatestSy
> ncToken New token value 1,351,187,890
> 
> This sounds strange: is this log message appearing *after* the
> synchronization has actually take place or before?

after (just after clicking on "Execute" icon in the synchorinization tasks)

> 
> > [...]
> >
> > -- correct a null value here ? -->> 17:59:07.227 DEBUG 
> org.identityconnectors.framework.api.operations.ValidateApiOp.
> validate Return: null
> 
> Yes.
> 
> > [...]
> > Do you have any suggestion ?
> >
> > Thanks,
> > Denis.
> >
> > -----Messaggio originale-----
> > Da: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
> > Inviato: martedì 23 ottobre 2012 17:21
> > A: syncope-user@incubator.apache.org
> > Oggetto: Re: Problem syncing user using a Long schema attribute
> >
> >
> > On 23/10/2012 16:31, Denis Signoretto wrote:
> >> Hello,
> >>
> >> I'm syncing user attributes FROM a resource TO Syncope 
> using DBTable connector. 
> >> The attribute used as "Column Key" is a number(10) (it's 
> an Oracle DB).
> >>
> >> If I define the attribute on Syncope as String it works 
> well and when the sync starts,
> >> all updated entries are found and triggered for the 
> update. After deletions of all users
> >> and redefining the attribute in Sycope as Long the sync 
> don't match on the attribute
> >> and no update operation occur.
> > Denis,
> > I guess that what you're seeing is just the expected 
> behavior: if your
> > external resource (in Syncope) is not configured for full
> > reconciliation, then Syncope will invoke the SYNC operation on the
> > underlying connector that will return only entries in the 
> DB that were
> > modified AFTER last synchronization.
> >
> > After deleting all users and redefining the user attribute 
> in Syncope as
> > Long, don't forget to also reset the synchronization token of the
> > external resource.
> >
> > Regards.
> 
> -- 
> Francesco Chicchiriccò
> 
> ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member
> http://people.apache.org/~ilgrosso/
> 
> 

Re: Problem syncing user using a Long schema attribute

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 23/10/2012 18:09, Denis Signoretto wrote:
> Hi Francesco,
> so did I. 
>
> I have deleted all users, redefined the user attribute in Syncope as Long resetted the synchronization token of the external resource and launch a Sync Task manually, but the problem persist.

I guess you have also updated the schema mapping for the DB resource in
order to set this Long attribute in Syncope as AccountId, right?

> 17:59:07.175 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.getLatestSyncToken New token value 1,351,187,890

This sounds strange: is this log message appearing *after* the
synchronization has actually take place or before?

> [...]
>
> -- correct a null value here ? -->> 17:59:07.227 DEBUG org.identityconnectors.framework.api.operations.ValidateApiOp.validate Return: null

Yes.

> [...]
> Do you have any suggestion ?
>
> Thanks,
> Denis.
>
> -----Messaggio originale-----
> Da: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
> Inviato: martedì 23 ottobre 2012 17:21
> A: syncope-user@incubator.apache.org
> Oggetto: Re: Problem syncing user using a Long schema attribute
>
>
> On 23/10/2012 16:31, Denis Signoretto wrote:
>> Hello,
>>
>> I'm syncing user attributes FROM a resource TO Syncope using DBTable connector. 
>> The attribute used as "Column Key" is a number(10) (it's an Oracle DB).
>>
>> If I define the attribute on Syncope as String it works well and when the sync starts,
>> all updated entries are found and triggered for the update. After deletions of all users
>> and redefining the attribute in Sycope as Long the sync don't match on the attribute
>> and no update operation occur.
> Denis,
> I guess that what you're seeing is just the expected behavior: if your
> external resource (in Syncope) is not configured for full
> reconciliation, then Syncope will invoke the SYNC operation on the
> underlying connector that will return only entries in the DB that were
> modified AFTER last synchronization.
>
> After deleting all users and redefining the user attribute in Syncope as
> Long, don't forget to also reset the synchronization token of the
> external resource.
>
> Regards.

-- 
Francesco Chicchiriccò

ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member
http://people.apache.org/~ilgrosso/


R: Problem syncing user using a Long schema attribute

Posted by Denis Signoretto <de...@intesys.it>.
Hi Francesco,
so did I. 

I have deleted all users, redefined the user attribute in Syncope as
Long resetted the synchronization token of the external resource and launch a Sync Task manually,
but the problem persist.


17:59:07.175 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.getLatestSyncToken New token value 1,351,187,890
17:59:07.175 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.getLatestSyncToken getLatestSyncToken
17:59:07.175 INFO  org.connid.bundles.db.table.DatabaseTableConnector.getLatestSyncToken commit getLatestSyncToken
17:59:07.176 DEBUG org.connid.bundles.db.table.DatabaseTableConnector.getLatestSyncToken getLatestSyncToken commited
17:59:07.176 DEBUG org.identityconnectors.framework.api.operations.SyncApiOp.getLatestSyncToken Return: SyncToken: 1351187890
17:59:07.225 DEBUG org.identityconnectors.framework.api.operations.ValidateApiOp.validate Enter: validate()
17:59:07.227 INFO  org.connid.bundles.db.table.DatabaseTableConfiguration.validate Validate DatabaseTableConfiguration
17:59:07.227 INFO  org.connid.bundles.db.table.DatabaseTableConfiguration.validate Validate driver configuration.
17:59:07.227 DEBUG org.connid.bundles.db.table.DatabaseTableConfiguration.validate Driver configuration is ok
17:59:07.227 DEBUG org.connid.bundles.db.table.DatabaseTableConfiguration.validate Configuration is valid

-- correct a null value here ? -->> 17:59:07.227 DEBUG org.identityconnectors.framework.api.operations.ValidateApiOp.validate Return: null

17:59:57.594 DEBUG org.identityconnectors.framework.api.operations.GetApiOp.getObject Enter: getObject(ObjectClass: __ACCOUNT__, Attribute: {Name=__UID__, Value=[denis]}, OperationOptions: {ATTRS_TO_GET:[]})
17:59:57.595 INFO  org.connid.bundles.db.table.DatabaseTableConnector.checkAlive checkAlive DatabaseTable connector

Do you have any suggestion ?

Thanks,
Denis.

-----Messaggio originale-----
Da: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
Inviato: martedì 23 ottobre 2012 17:21
A: syncope-user@incubator.apache.org
Oggetto: Re: Problem syncing user using a Long schema attribute


On 23/10/2012 16:31, Denis Signoretto wrote:
> Hello,
>
> I'm syncing user attributes FROM a resource TO Syncope using DBTable connector. 
> The attribute used as "Column Key" is a number(10) (it's an Oracle DB).
>
> If I define the attribute on Syncope as String it works well and when the sync starts,
> all updated entries are found and triggered for the update. After deletions of all users
> and redefining the attribute in Sycope as Long the sync don't match on the attribute
> and no update operation occur.

Denis,
I guess that what you're seeing is just the expected behavior: if your
external resource (in Syncope) is not configured for full
reconciliation, then Syncope will invoke the SYNC operation on the
underlying connector that will return only entries in the DB that were
modified AFTER last synchronization.

After deleting all users and redefining the user attribute in Syncope as
Long, don't forget to also reset the synchronization token of the
external resource.

Regards.

-- 
Francesco Chicchiriccò

ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member
http://people.apache.org/~ilgrosso/


Re: Problem syncing user using a Long schema attribute

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 23/10/2012 16:31, Denis Signoretto wrote:
> Hello,
>
> I'm syncing user attributes FROM a resource TO Syncope using DBTable connector. 
> The attribute used as "Column Key" is a number(10) (it's an Oracle DB).
>
> If I define the attribute on Syncope as String it works well and when the sync starts,
> all updated entries are found and triggered for the update. After deletions of all users
> and redefining the attribute in Sycope as Long the sync don't match on the attribute
> and no update operation occur.

Denis,
I guess that what you're seeing is just the expected behavior: if your
external resource (in Syncope) is not configured for full
reconciliation, then Syncope will invoke the SYNC operation on the
underlying connector that will return only entries in the DB that were
modified AFTER last synchronization.

After deleting all users and redefining the user attribute in Syncope as
Long, don't forget to also reset the synchronization token of the
external resource.

Regards.

-- 
Francesco Chicchiriccò

ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member
http://people.apache.org/~ilgrosso/