what is the purpose and value of the files in the db directory?
I have been getting an occasional problem when freeswitch fails to start correctly. I googled around and found out that its was caused by the corruption of files in the db directory. What runtime related information is stored in those files? Are they useful for some logging or analytical value? Can an alternate database system be used for them? -- Frank Church ======================= http://devblog.brahmancreations.com
The files in the db directory are used for a variety of things... Most of the files are for storing runtime information that can be nuked across reboots the exception to that is the voicemail db... If you nuke it you lose all your voicemail metadata effectively resetting all the voicemail boxes. Data stored in there is used for various things like show calls and show channels so that we don't have to lock memory structures just to show you what calls are active and what state they are in. (this was a lessoned learned from years of seeing "avoiding deadlock" from a simple show me the calls. As far as using an alternate database yes you can... See the wiki for core odbc docs. This applies not just to the core but to several other modules individually. Also as a side note, if you are not using the voicemail module, you can mount the db directory on a ram drive. This has been shown to increse performance and reduce disk IO a fair bit... On 4/13/12 4:38 AM, "Frank Church" <vfclists@gmail.com> wrote:
I have been getting an occasional problem when freeswitch fails to start correctly. I googled around and found out that its was caused by the corruption of files in the db directory.
What runtime related information is stored in those files? Are they useful for some logging or analytical value?
Can an alternate database system be used for them?
On Fri, Apr 13, 2012 at 10:16 AM, Ken Rice <krice@freeswitch.org> wrote:
Data stored in there is used for various things like show calls and show channels so that we don't have to lock memory structures just to show you what calls are active and what state they are in. (this was a lessoned learned from years of seeing "avoiding deadlock" from a simple show me the calls.
I don't want to get all nostalgic, but I miss those days :) Gabe
On Fri, Apr 13, 2012 at 1:23 PM, Gabriel Gunderson <gabe@gundy.org> wrote:
On Fri, Apr 13, 2012 at 10:16 AM, Ken Rice <krice@freeswitch.org> wrote:
Data stored in there is used for various things like show calls and show channels so that we don't have to lock memory structures just to show you what calls are active and what state they are in. (this was a lessoned learned from years of seeing "avoiding deadlock" from a simple show me the calls.
I don't want to get all nostalgic, but I miss those days :)
Heh... I don't.
Gabe
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Brian D. Foster Endigo Computer LLC Email: bdfoster@endigotech.com Phone: 317-800-7876 Indianapolis, Indiana, USA This message contains confidential information and is intended for those listed in the "To:", "CC:", and/or "BCC:" fields of the message header. If you are not the intended recipient you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version.
On 13 April 2012 17:16, Ken Rice <krice@freeswitch.org> wrote:
The files in the db directory are used for a variety of things... Most of the files are for storing runtime information that can be nuked across reboots the exception to that is the voicemail db... If you nuke it you lose all your voicemail metadata effectively resetting all the voicemail boxes.
Data stored in there is used for various things like show calls and show channels so that we don't have to lock memory structures just to show you what calls are active and what state they are in. (this was a lessoned learned from years of seeing "avoiding deadlock" from a simple show me the calls.
As far as using an alternate database yes you can... See the wiki for core odbc docs. This applies not just to the core but to several other modules individually.
Also as a side note, if you are not using the voicemail module, you can mount the db directory on a ram drive. This has been shown to increse performance and reduce disk IO a fair bit...
On 4/13/12 4:38 AM, "Frank Church" <vfclists@gmail.com> wrote:
I have been getting an occasional problem when freeswitch fails to start correctly. I googled around and found out that its was caused by the corruption of files in the db directory.
What runtime related information is stored in those files? Are they useful for some logging or analytical value?
Can an alternate database system be used for them?
Is there a way to detect if the start up failure is due to those fails, so that you can delete them and restart Freeswitch? Can you check something like asterisks 'core show channels' etc from it, something like call progress, duration etc of live calls, CDR etc? What format are they in, sqlite3? _________________________________________________________________________
Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Frank Church ======================= http://devblog.brahmancreations.com
If you arent using Voicemail you can just delete them prior to startup every time... However, I would say if you are getting this routinely this is just symptom of a larger problem... And its like treating just the pain from the bullet in your foot with advil and not treating the bullet wound... The question should be why are these corrupting... I run 100s of 1000s (of not millions) of sessions per day on freeswitch with recent versions of the code and do not see this issue, so I¹m left wondering if theres some reason this is happening like hard killing of the box or some other bug... Iirc it is sqlite3, but we have a defacto fork of SQLite running due to a variety of things we had to re-arrange in the code. Standard SQLite tools should still allow you to play with the .db files tho K On 4/14/12 9:11 AM, "Frank Church" <vfclists@gmail.com> wrote:
Is there a way to detect if the start up failure is due to those fails, so that you can delete them and restart Freeswitch?
Can you check something like asterisks 'core show channels' etc from it, something like call progress, duration etc of live calls, CDR etc?
What format are they in, sqlite3?
Iirc it is sqlite3, but we have a defacto fork of SQLite running due to a variety of things we had to re-arrange in the code. Standard SQLite tools should still allow you to play with the .db files tho
FWIW, I've used the sqlite3 CLI program to query and manipulate the .db files. I've never run into any drama or issues. -MC
On Mon, Apr 16, 2012 at 3:24 PM, Michael Collins <msc@freeswitch.org> wrote:
FWIW, I've used the sqlite3 CLI program to query and manipulate the .db files. I've never run into any drama or issues.
Yeah, so have I... even before I knew the code was forked :) So, yeah, it seems to work just fine and is a pretty helpful tool. Best, Gabe
participants (5)
-
Brian Foster
-
Frank Church
-
Gabriel Gunderson
-
Ken Rice
-
Michael Collins