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

New fix flaky #1290

Open
wants to merge 117 commits into
base: develop
Choose a base branch
from
Open

New fix flaky #1290

wants to merge 117 commits into from

Conversation

akib6075
Copy link

Fixes #ISSUSE_ID
JSONUtil.toJSONString() which is coming from JacksonHandler returning unordered object which fails in test.
So I changed the testcase as well.
Please have a look.
Flaky test evidence using the NonDex tool: https://github.com/akib6075/hippo4j/actions/runs/4519255268
after resolving flaky test evidence using the NonDex tool: https://github.com/akib6075/hippo4j/actions/runs/4519274552
Changes proposed in this pull request:

Check mailbox configuration when submitting. Contributor Guide

akib6075 and others added 28 commits March 25, 2023 18:39
…y#1289)

* optimize: fix StyleCheck errors for hippo4j-threadpool-core

* add TaskTimeRecordPlugin#TableSizeFor test method
* optimize: fix StyleCheck errors for hippo4j

* ignore TypeName error
…y#1292)

* optimize: fix StyleCheck errors for hippo4j-agent-bootstrap

* optimize: fix StyleCheck errors for hippo4j-agent-bootstrap

* optimize: fix StyleCheck errors for hippo4j-agent-bootstrap
…pool instance. (opengoofy#1295)

* Add common dependencies and realize basic functions.

* Update example config properties
…fy#1294)

* optimize: fix StyleCheck errors for hippo4j-threadpool-coore

* optimize: fix StyleCheck errors for hippo4j-threadpool-coore
* Update user company

* Update user company
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](junit-team/junit4@r4.12...r4.13.1)

---
updated-dependencies:
- dependency-name: junit:junit
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(login): opengoofy#1300 Encrypted transmission of login password

* feat(login): opengoofy#1300 Modify the comments to English

* ref(login): opengoofy#1300 Restore static resources

---------

Co-authored-by: limingwei <[email protected]>
Co-authored-by: Serenity <[email protected]>
…fy#1319)

* feat(login): opengoofy#1300 Encrypted transmission of login password

* feat(login): opengoofy#1300 Modify the comments to English

* ref(login): opengoofy#1300 Restore static resources

* ref(console-login): Extract the encryption section into a separate utility class

---------

Co-authored-by: limingwei <[email protected]>
Co-authored-by: Serenity <[email protected]>
* test: add FastThreadPoolExecutorTest

* test: add FastThreadPoolExecutorTest
* style(hippo4j-threadpool-infra-common): checke style update

* style(hippo4j-threadpool-infra-common): checke style update

* style(hippo4j-threadpool-infra-common): check style log (info --> error)

* style(hippo4j-threadpool-infra-common): @slf4j

* style(hippo4j-threadpool-infra-common): check style update
1. fix examples console login failed, because login tag is miss
2. repackage vue-element-admin into console static
@weihubeats
Copy link
Member

Please resolve conflicts

@akib6075 akib6075 marked this pull request as ready for review May 25, 2023 03:56
bobowiki and others added 26 commits September 20, 2023 12:30
* feat: login

* feat: recommmit remove node-module

---------

Co-authored-by: yikai <[email protected]>
* Add user log item Manage

* edit Item Management

* merge from develop

* add router

* add router

* edit logmanage

* edit tenant
* Add user log item Manage

* edit Item Management

* merge from develop

* add router

* add router

* edit logmanage

* edit tenant

* update item

* update user tenant log user

* edit userName
* stash code

* fix active router

* feat: login en and happy work

---------

Co-authored-by: yikai <[email protected]>
Co-authored-by: 吹泡泡的团子 <[email protected]>
* Fix flaky test in Md5UtilTest

* Remove unused imports

---------

Co-authored-by: bbelide2 <[email protected]>
…ngoofy#1470)

* check the required fields of polaris when the config mode starts

* Modify the format of polaris in BootstrapConfigProperties

* Define static constants of polaris in BeforeCheckConfiguration

* Use configuration and constants exist in  PolarisRefresherHandler

* Just consider the properties of BootstrapPropertiesInterface

* Don't throw exception in if else

* Optimize code format in BeforeCheckConfiguration
* Fix flaky tests in LogMessageTest

* Remove fix for NOD test

---------

Co-authored-by: balasukesh <[email protected]>
@akib6075
Copy link
Author

@weihubeats there is a loophole in the assertGetPoolContent() which is the testText is a collection of threadpoolparameter info which has a specific order of the keys. But the ContentUtil.getPoolContent() returns the threadpoolparameter info having different order of keys. So it's happening because of different order of keys in the Json serialization.
This is failed CI log: https://github.com/akib6075/hippo4j/actions/runs/5135847635

To fix this I made a solution which serializes and deserializes to check that the object is the same. Now the question can come that my solution uses ContentUtil.getPoolContent() twice. So the result must throw error again. But the answer is no. Because the caching of properties is implemented in the databind module's internal classes, such as com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector and com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder. These classes are responsible for inspecting the structure of Java classes and extracting their properties.
Jackson utilizes a caching mechanism for property introspection, which involves caching the metadata associated with Java classes to improve performance during serialization and deserialization. This caching is performed by the Jackson databind module, which is typically used in conjunction with the ObjectMapper.
JacksonHandler.java used this library by importing com.fasterxml.jackson.databind.*;
The fixed CI log: https://github.com/akib6075/hippo4j/actions/runs/5190631210

@weihubeats
Copy link
Member

You can mention an issue in the issues list, and then associate it here, see this pr: #1380

@weihubeats
Copy link
Member

Why do you have so many file changes? I feel like there should be something wrong with your code merge? Wouldn't it be a good idea to consider pulling a new branch from the latest branch and re-committing your code

@akib6075
Copy link
Author

akib6075 commented Oct 25, 2023

@weihubeats Thank you for your feedback. I understand your concern about the large number of file changes. I've reviewed the commits and believe they are necessary to address the flaky tests issue. However, I'm open to discussing alternative approaches. Would you like me to provide more details about the changes or would you prefer I rebase the branch and submit a new merge request? Also I've opened same PR which is #1373. You can check that as well.

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.