[Freeipa-devel] [PATCH] Schema caching for thin client

Martin Basti mbasti at redhat.com
Tue Jun 21 14:49:21 UTC 2016



On 21.06.2016 16:51, Jan Cholasta wrote:
> On 21.6.2016 16:33, Martin Basti wrote:
>>
>>
>> On 21.06.2016 16:24, Jan Cholasta wrote:
>>> On 21.6.2016 15:11, Jan Cholasta wrote:
>>>> On 16.6.2016 09:12, David Kupka wrote:
>>>>> On 06/15/2016 08:15 PM, Petr Vobornik wrote:
>>>>>> On 06/15/2016 02:36 PM, David Kupka wrote:
>>>>>>> Hello!
>>>>>>> Schema caching for thin client is available here:
>>>>>>>
>>>>>>> https://github.com/dkupka/freeipa/commits/schema_cache
>>>>>>>
>>>>>>> Comments and reviews welcome.
>>>>>>>
>>>>>>> Enjoy!
>>>>>>
>>>>>> Not doing proper review. I'll test by using it. But:
>>>>>>
>>>>>> 1. lint fails
>>>>>>
>>>>>> Pylint is running, please wait ...
>>>>>> ************* Module ipaclient.remote_plugins.schema_cache
>>>>>> ipaclient/remote_plugins/schema_cache.py:283: 
>>>>>> [W1612(unicode-builtin),
>>>>>> _refresh_schema] unicode built-in referenced)
>>>>>> Makefile:137: recipe for target 'lint' failed
>>>>>> make: *** [lint] Error 1
>>>>>>
>>>>>> I.e, you miss:
>>>>>>
>>>>>>   import six
>>>>>>
>>>>>>   if six.PY3:
>>>>>>       unicode = str
>>>>>>
>>>>>
>>>>> Thanks for the catch, fixed version force-pushed.
>>>>
>>>> ACK on the server part, i.e. the first 3 commits:
>>>>
>>>> 0cd99a7 schema: Cache schema in api instance
>>>> b9a58c4 schema: Add known_fingerprints option to schema command
>>>> f6f4e53 schema: Add fingerprint and TTL
>>>>
>>>> Pushed to master: d0e708cba240bd92a4467495caeb654eff6ae69a
>>>
>>> ACK on this commit:
>>>
>>> 7fc7941 schema: return fingerprint as unicode text
>>>
>>> Pushed to master: a5f48476adfd9971a1756bd5ad3cb7c9e2afef22
>>>
>>
>> Is Okay to keep just last 4 bytes from SHA1, how big is possibility for
>> conflict?
>
> 2.3283064365386963e-10
>
> Git uses 3.5 bytes for short commit IDs by default. So far, there are 
> only 4 conflicts in freeipa git:
>
> $ git log --oneline | grep -E '^[0-9a-z]{8,}'
> c6c84fae Py3: replace tab with space
> b194b850 Fix remove while iterating in suppress_netgroup_memberof.
> 58a3b1d0 85: Added ReadOnly._lock() method to make class easier to 
> use; updated subclasses and unit tests
> bc524460 Fix build issues by combining patches submitted by Michael 
> Gregg and   Karl MacMillan Remove #!/usr/bin/python from many files to 
> quiet rpmlint
>
> So IMO 4 bytes is good enough for our API schema fingerprints.
>
> Even if 4 bytes turn out not to be good enough, we can increase the 
> length at any time without breaking clients, because clients don't 
> care about fingerprint specifics.
>
Okay




More information about the Freeipa-devel mailing list