Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docker-mux related table names #627

Merged
merged 2 commits into from
Aug 2, 2022
Merged

Add docker-mux related table names #627

merged 2 commits into from
Aug 2, 2022

Conversation

zjswhhh
Copy link
Contributor

@zjswhhh zjswhhh commented Jun 2, 2022

This PR is to add table name definitions for database entries used by docker mux processes.

Sign-off: Jing Zhang [email protected]

yxieca
yxieca previously approved these changes Jun 3, 2022
yxieca
yxieca previously approved these changes Jun 5, 2022
lolyu
lolyu previously approved these changes Jun 5, 2022
@zjswhhh
Copy link
Contributor Author

zjswhhh commented Jun 6, 2022

/azp run Azure.sonic-swss-common

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@zjswhhh
Copy link
Contributor Author

zjswhhh commented Jun 10, 2022

/azp run Azure.sonic-swss-common

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@zjswhhh
Copy link
Contributor Author

zjswhhh commented Jun 14, 2022

/azp run Azure.sonic-swss-common

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@zjswhhh
Copy link
Contributor Author

zjswhhh commented Jun 27, 2022

/azp run Azure.sonic-swss-common

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

kcudnik
kcudnik previously approved these changes Jul 21, 2022
@kcudnik
Copy link
Contributor

kcudnik commented Jul 21, 2022

build failure not related to PR

@zjswhhh
Copy link
Contributor Author

zjswhhh commented Jul 21, 2022

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@zhangyanzhao
Copy link

@zjswhhh would you please check the build failure and merge this PR asap? This is required by 202205

@zjswhhh
Copy link
Contributor Author

zjswhhh commented Jul 27, 2022

@zjswhhh would you please check the build failure and merge this PR asap? This is required by 202205

Hi @zhangyanzhao - I have Kamil signed off on this PR, the build failure is not tied to the change. I suspected the failure was introduced by 40a685c. But haven't got a chance to reproduce.

@zjswhhh zjswhhh merged commit 515c09a into sonic-net:master Aug 2, 2022
@zjswhhh zjswhhh deleted the mux branch August 2, 2022 16:57
zbud-msft added a commit to renukamanavalan/sonic-swss-common that referenced this pull request Aug 3, 2022
* Fix memory leak issue in ConfigDBConnector. (sonic-net#655)

#### Why I did it
Fix memory leak issue in ConfigDBConnector:
[chassis] Too many open files error and unable to connect to redis socket error
sonic-net/sonic-buildimage#10870

The reason of this issue is DBConnector::pubsub() will return a pointer, and following code call this method but never release the returned pointer:

```
void ConfigDBConnector_Native::db_connect(string db_name, bool wait_for_init, bool retry_on)
{
    m_db_name = db_name;
    m_key_separator = m_table_name_separator = get_db_separator(db_name);
    SonicV2Connector_Native::connect(m_db_name, retry_on);

    if (wait_for_init)
    {
        auto& client = get_redis_client(m_db_name);
        auto pubsub = client.pubsub(); <== this pointer not delete later.
```

Also change DBConnector::pubsub() to deprecated for none SWIG scenario.

#### How I did it
Change DBConnector::pubsub() to return a smart pointer.

#### How to verify it
Pass all test case.

Run following code in python and validate there is no epoll and socket leak:
```
import gc
from swsscommon import swsscommon
config_db = swsscommon.ConfigDBConnector_Native()
config_db.connect()
config_db.connect()
config_db.connect()

gc.collect()
```
#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [x] 202111

#### Description for the changelog
Fix epoll and socket resurce leak issue:
[chassis] Too many open files error and unable to connect to redis socket error
sonic-net/sonic-buildimage#10870

#### Link to config_db schema for YANG module changes

#### A picture of a cute animal (not mandatory but encouraged)


Co-authored-by: liuh-80 <azureuser@liuh-dev-vm-02.5fg3zjdzj2xezlx1yazx5oxkzd.hx.internal.cloudapp.net>

* Transfer organization from Azure to sonic-net (sonic-net#656)

Transfer organization from Azure to sonic-net

* Add docker-mux related table names  (sonic-net#627)

This PR is to add table name definitions for database entries used by docker mux processes.

Sign-off: Jing Zhang [email protected]

* Add libzmq dependency

* Add test logs

* Add libzmq3-dev dependency

* Add libboost-serialization and uuid-dev dependencies

* Add boost and uuid

* Add installation before building docker

Co-authored-by: Hua Liu <[email protected]>
Co-authored-by: liuh-80 <azureuser@liuh-dev-vm-02.5fg3zjdzj2xezlx1yazx5oxkzd.hx.internal.cloudapp.net>
Co-authored-by: Liu Shilong <[email protected]>
Co-authored-by: Jing Zhang <[email protected]>
Co-authored-by: Ubuntu <zain@zb-dev-vm.022x1jpnpm4u1iy2d325acts3c.yx.internal.cloudapp.net>
yxieca pushed a commit that referenced this pull request Aug 8, 2022
This PR is to add table name definitions for database entries used by docker mux processes.

Sign-off: Jing Zhang [email protected]
dprital added a commit to dprital/sonic-buildimage that referenced this pull request Aug 9, 2022
Update sonic-swss-common submodule pointer to include the following:
* Add docker-mux related table names  ([sonic-net#627](sonic-net/sonic-swss-common#627))
* Transfer organization from Azure to sonic-net ([sonic-net#656](sonic-net/sonic-swss-common#656))

Signed-off-by: dprital <[email protected]>
zjswhhh added a commit that referenced this pull request Aug 22, 2022
Stemming from #627

This PR is to add table name definitions for database entries used by docker mux processes.

Sign-off: Jing Zhang [email protected]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants