Skip to content

Add flag to skip application updates in channels table#3051

Open
dhruvecosmob wants to merge 1 commit into
signalwire:masterfrom
dhruvecosmob:fs-ignore-application-update
Open

Add flag to skip application updates in channels table#3051
dhruvecosmob wants to merge 1 commit into
signalwire:masterfrom
dhruvecosmob:fs-ignore-application-update

Conversation

@dhruvecosmob

Copy link
Copy Markdown
Contributor

Summary
Add a new FreeSWITCH flag ignore_application_channel_update to reduce unnecessary SQL update activity on the channels table.

Problem
FreeSWITCH updates the application field in the channels table whenever the executing application changes. In high call volume environments this generates a large number of SQL UPDATE statements, increasing database load and contention.
it makes sense to remove the extra queries if not needed; agree that in theory it's a bottleneck.

Solution
Introduce a new configuration flag:
ignore_application_channel_update
When enabled, FreeSWITCH skips updates to the application column in the channels table while continuing to maintain other channel state information.

Benefits

  • Reduces SQL UPDATE traffic on the channels table
  • Lowers database load in high CPS environments
  • Improves scalability for deployments that do not rely on the application column

Configuration
<param name="ignore-application-channel-update" value="true"/>
Default behavior remains unchanged when the parameter is disabled.

Testing

  • Verified normal call processing
  • Verified channels table updates continue
  • Verified application column updates are skipped when enabled
  • Verified default behavior is unchanged when disabled
  • Performed heavy load testing with approximately 2000 concurrent calls
  • Verified stable call handling and reduced SQL update activity under load
  • No regressions observed during high-load testing

@davesoft11

Copy link
Copy Markdown

Key clarification is that the "extra" queries do not appear, based on the call state context, to be necessary, and therefore are extraneous (and very burdensome). Obviously essential queries cannot be eliminated. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants