Re: [PATCH] http admin commands + userguide

Alexander Malysh <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Hi Alex,

sorry for delay, here some comments:

      gw_rwlock_wrlock(&smsc_list_lock);
+    gwlist_add_producer(smsc_list);

you don't need to add producer to smsc_list because all  
synchronization should go via rwlock smsc_list_lock.
The same seems also the case for smsc2_remove_smsc/smsc2_add_smsc....

+
+    /* reload the groups from the config file */
+    if (bb_reload_smsc_groups() != 0) {
+        gwlist_remove_producer(smsc_list);
+        gw_rwlock_unlock(&smsc_list_lock);
+        return -1;
          }

I think it would be better to try to reload config and only then  
shutdown/start SMSC links. Because you should at least ensure
that if config file is not readable that you have all old SMSC links  
intact.

+            if (conn != NULL) {
+                gwlist_append(smsc_list, conn);
+                smscconn_start(conn);
+                success = 1;
          }

Please fix indentation...

Thanks,
Alex

Am 09.07.2009 um 16:04 schrieb Alejandro Guerrieri:

> Alex,
>
> Please try this one.
>
> It works by first stopping and removing all running instances, then  
> it reloads the groups from the config file and tries to add and  
> start the instances again. It also fixes a bug on remove-smsc (some  
> instances would fail to be removed when sharing the same admin-id).
>
> Things to note:
>
> 1. I've tried the scenario you've depicted yesterday and now it  
> works as expected (the extra instances are removed).
> 2. You don't need to stop the smsc first to re-start it. Since the  
> start process removes the running instances, you can run "start- 
> smsc" and it will stop->remove->reload->add->start. Perhaps "restart- 
> smsc" or "reload-smsc" would be more appropiate, to be honest,  
> though that would probably confuse a few people.
>
>
> Regards,
> --
> Alejandro Guerrieri
> [email protected]
>
> <kannel-http-admin-fix.patch>
> On 09/07/2009, at 9:21, Alexander Malysh wrote:
>
>>
>> Am 09.07.2009 um 02:23 schrieb Alejandro Guerrieri:
>>
>>> Alex,
>>>
>>> I'm fixing it. I'll be back with a new patch tomorrow.
>>
>> Thanks!
>>
>>>
>>> Regards,
>>> --
>>> Alejandro Guerrieri
>>> [email protected]
>>>
>>>
>>>
>>> On 08/07/2009, at 22:23, Alexander Malysh wrote:
>>>
>>>> Hi again,
>>>>
>>>> Am 08.07.2009 um 18:28 schrieb Alejandro Guerrieri:
>>>>
>>>>> Alex,
>>>>>
>>>>> I've already fixed the warnings (two variables declared but not  
>>>>> used).
>>>>>
>>>>> Regarding the example you've given, that's why I've noted that  
>>>>> you shouldn't play with the id/admin-id's.
>>>>>
>>>>> Under my understanding, restart is meant to be used when you  
>>>>> need to modify some parameters. Modifying the number of binds  
>>>>> qualifies for a remove-smsc/add-smsc.
>>>>>
>>>>> On the scenario you depict, if you remove-smsc A and then add- 
>>>>> smsc A, it'll do as expected.
>>>>>
>>>>> A possible approach would be to replace restart-smsc for:
>>>>>
>>>>> get lock
>>>>> remove-smsc
>>>>> add-smsc
>>>>> release lock
>>>>>
>>>>> Or just leave it as it is and document it better?
>>>>
>>>> this is bug and bugs should not be documented their should be  
>>>> fixed ;)
>>>> Before your patch was applied it was not possible to provoke such  
>>>> situation now it's possible and
>>>> easy fixable. I would like to see patch to fix it or I will do  
>>>> this myself :)
>>>>
>>>> Should I fix it or you?
>>>>
>>>> I just already see user complains :)
>>>>
>>>>>
>>>>> What do you think?
>>>>> --
>>>>> Alejandro Guerrieri
>>>>> [email protected]
>>>>>
>>>>>
>>>>>
>>>>> On 08/07/2009, at 17:40, Alexander Malysh wrote:
>>>>>
>>>>>> Hi Alex,
>>>>>>
>>>>>> sorry I have not seen this before:
>>>>>> gw/bb_smscconn.c: In function ‘smsc2_remove_smsc’:
>>>>>> gw/bb_smscconn.c:839: warning: unused variable ‘smscid’
>>>>>> gw/bb_smscconn.c: In function ‘smsc2_add_smsc’:
>>>>>> gw/bb_smscconn.c:870: warning: unused variable ‘smsc_type’
>>>>>>
>>>>>> Please fix these warnings. Could you please test compile at  
>>>>>> your devel host with
>>>>>> 	./configure --enable-warnings ...
>>>>>> then you will see these :)
>>>>>>
>>>>>> And I think that now, with config reload, smsc2_restart_smsc  
>>>>>> function don't work as expected.
>>>>>> There is example:
>>>>>>
>>>>>> group = smsc
>>>>>> smsc-id = A
>>>>>>
>>>>>> group = smsc
>>>>>> smsc-id = A
>>>>>>
>>>>>> group = smsc
>>>>>> smsc-id = A
>>>>>>
>>>>>> -> start bearerbox
>>>>>>
>>>>>> -> reconfigure
>>>>>>
>>>>>> group = smsc
>>>>>> smsc-id = A
>>>>>>
>>>>>> -> restart_smsc(A)
>>>>>>
>>>>>> first found smsc-id = A will be restarted but the second will  
>>>>>> not found in the config
>>>>>> and error will be logged, leaving the second and third  
>>>>>> instances. This is not a expected behavior.
>>>>>> I would expect that all 3 instances will be shutdown and only  
>>>>>> one will be running after restarting.
>>>>>>
>>>>>> I propose to change it in following sequence:
>>>>>> 	- get lock
>>>>>> 	- shutdown all instances with this id
>>>>>> 	- start all found instances from new config
>>>>>> 	- release lock
>>>>>>
>>>>>> Thanks,
>>>>>> Alex
>>>>>>
>>>>>> Am 08.07.2009 um 16:30 schrieb Alejandro Guerrieri:
>>>>>>
>>>>>>> Commited to CVS.
>>>>>>>
>>>>>>> Regards,
>>>>>>> --
>>>>>>> Alejandro Guerrieri
>>>>>>> [email protected]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 08/07/2009, at 15:12, Alexander Malysh wrote:
>>>>>>>
>>>>>>>> no objections from me...
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Alex
>>>>>>>>
>>>>>>>> Am 08.07.2009 um 14:52 schrieb Alejandro Guerrieri:
>>>>>>>>
>>>>>>>>> Here's the patch with the userguide part.
>>>>>>>>>
>>>>>>>>> If no objections, I'll commit it later.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> --
>>>>>>>>> Alejandro Guerrieri
>>>>>>>>> [email protected]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <kannel-http-admin-ug.patch>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.