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 put_all() to MultiMap [API-1235] #600

Merged
merged 3 commits into from
Dec 27, 2022

Conversation

nevzatseferoglu
Copy link
Contributor

@nevzatseferoglu nevzatseferoglu commented Dec 24, 2022

  • Existing PR has an issue with workflows and Contributor License Agreement. Therefore, I opened a new one.
  • If I add test (which was commented out in compact compatibility test), it throws an exception in that space but passed fine in mutlimap test.
  • I tried to resolve remaining reviews.
compact_compatibility_test.py::MultiMapCompactCompatibilityTest::test_put_all_get ERROR [100%]
test setup failed
cls = <class 'tests.integration.backward_compatible.serialization.compact_compatibility.compact_compatibility_test.MultiMapCompactCompatibilityTest'>

    @classmethod
    def setUpClass(cls) -> None:
        cls.rc = cls.create_rc()
>       if compare_server_version_with_rc(cls.rc, "5.1") < 0:

compact_compatibility_test.py:284: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../../util.py:114: in compare_server_version_with_rc
    result = rc.executeOnController(None, script, Lang.JAVASCRIPT)
../../../../hzrc/client.py:71: in executeOnController
    return self.remote_controller.executeOnController(cluster_id, script, lang)
../../../../hzrc/RemoteController.py:604: in executeOnController
    return self.recv_executeOnController()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.hzrc.RemoteController.Client object at 0x105e62860>

    def recv_executeOnController(self):
        iprot = self._iprot
        (fname, mtype, rseqid) = iprot.readMessageBegin()
        if mtype == TMessageType.EXCEPTION:
            x = TApplicationException()
            x.read(iprot)
            iprot.readMessageEnd()
>           raise x
E           thrift.Thrift.TApplicationException: Internal error processing executeOnController

../../../../hzrc/RemoteController.py:623: TApplicationException

@mdumandag

@nevzatseferoglu nevzatseferoglu changed the title add multimap put-all Add put_all() to MultiMap [API-1235] Dec 24, 2022
@nevzatseferoglu nevzatseferoglu changed the title Add put_all() to MultiMap [API-1235] Updated: Add put_all() to MultiMap [API-1235] Dec 24, 2022
@mehmettokgoz
Copy link
Contributor

mehmettokgoz commented Dec 26, 2022

Hi Nevzat 👋 What is your Java version? I got the same error once while trying to run tests with Java>8, maybe it's related.
Also, I have approved the tests, can you update the linter?

@mdumandag
Copy link
Contributor

Yes, probably Nezvat is on a newer JDK. The Nashorn Engine we use for these scripting tasks is removed in JDK 15 https://openjdk.org/jeps/372

@nevzatseferoglu
Copy link
Contributor Author

nevzatseferoglu commented Dec 26, 2022

Hi Nevzat 👋 What is your Java version? I got the same error once while trying to run tests with Java>8, maybe it's related. Also, I have approved the tests, can you update the linter?

Hi Mehmet! Yes, you were right. There was no official support to Apple Silicon for java 8 but I just updated with Azul's one. It is not official but working fine. Thanks for the suggestion!
https://www.azul.com/downloads/?version=java-8-lts&os=macos&architecture=arm-64-bit&package=jdk

@nevzatseferoglu nevzatseferoglu changed the title Updated: Add put_all() to MultiMap [API-1235] Add put_all() to MultiMap [API-1235] Dec 26, 2022
@codecov-commenter
Copy link

Codecov Report

Merging #600 (5829049) into master (5829049) will not change coverage.
The diff coverage is n/a.

❗ Current head 5829049 differs from pull request most recent head 4269ad9. Consider uploading reports for the commit 4269ad9 to get more accurate results

@@           Coverage Diff           @@
##           master     #600   +/-   ##
=======================================
  Coverage   96.53%   96.53%           
=======================================
  Files         357      357           
  Lines       20712    20712           
=======================================
  Hits        19994    19994           
  Misses        718      718           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@mdumandag
Copy link
Contributor

@yuce since this is now a community PR, I have to run the test separately but here are the results https://github.com/hazelcast/hazelcast-python-client/actions/runs/3781913737, they passed.

Since we cannot relate this run with the checks in this PR, a force merge is required. Can you do that please?

@yuce yuce merged commit ba61af0 into hazelcast:master Dec 27, 2022
@nevzatseferoglu nevzatseferoglu deleted the add-multimap-put-all branch January 4, 2023 17:56
mdumandag added a commit that referenced this pull request Mar 28, 2023
* fix custom lookup serializer for class error

* change __subclasses__ to __mro__

* add test for custom global serialization

* Add put_all() to MultiMap [API-1235] (#600)

Added multimap put-all

* Bump hazelcast in /examples/paging-predicate/member-with-comparator (#602)

Bumps [hazelcast](https://github.com/hazelcast/hazelcast) from 5.1 to 5.1.3.
- [Release notes](https://github.com/hazelcast/hazelcast/releases)
- [Commits](hazelcast/hazelcast@v5.1...v5.1.3)

---
updated-dependencies:
- dependency-name: com.hazelcast:hazelcast
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Convert `Config` classes to public API [API-1280] (#521)

* Convert `Config` classes to public API

These were converted into private classes during the 4.0 migration,
as we were only supporting keyword arguments for the client configuration.

However, that led to a poor user experience, as we had to use `**kwargs`,
instead of listing all the configuration elements in the client constructor.
(IDEs become painfully slow once we list all keyword arguments, as there
are too many of them)

The solution to this problem is to make the Config classes public API
and make the client able to use it directly.

```python
config = Config()
config.cluster_name = "dev2"

client = HazelcastClient(config)
```

We provide full type hints for config elements.

* bump the client version used in tests

* address review comments

* shutdown clients in teardown method

* Add code sample to show how Hazelcast works with Pandas DataFrames. (#604)

Added code sample to show how Hazelcast works with Pandas DataFrames.

* fix the problems of added test

* test after updating branch

* test after updating branch

* test after updating branch

* add another test

* fix some typos and unnecessary parts

* fix the test

* fix the test

* Update custom_global_serialization_test.py

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Nevzat Seferoglu <nevzatseferoglu@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Metin Dumandag <metin@hazelcast.com>
Co-authored-by: Meltem Tokgöz <meltemtgz@gmail.com>
Co-authored-by: Metin Dumandag <29387993+mdumandag@users.noreply.github.com>
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