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>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>