Skip to content

Save PDO exceptions.#24

Merged
jmjoy merged 8 commits intoapache:masterfrom
phanalpha:master
Oct 21, 2022
Merged

Save PDO exceptions.#24
jmjoy merged 8 commits intoapache:masterfrom
phanalpha:master

Conversation

@phanalpha
Copy link
Contributor

A non-blocking sender fails with EAGAIN. And a call_user_function (zend_call_function) fails when exception is set.

@wu-sheng wu-sheng requested review from heyanlong and jmjoy October 19, 2022 23:53
@wu-sheng wu-sheng added this to the 0.2.0 milestone Oct 19, 2022
@wu-sheng wu-sheng added the bug Something isn't working label Oct 19, 2022
@jmjoy jmjoy changed the title blocking (channel) sender and PDO exceptions. Save PDO exceptions. Oct 20, 2022
@phanalpha
Copy link
Contributor Author

A non-blocking sender simply fails macos tests. Any ideas?

@jmjoy
Copy link
Member

jmjoy commented Oct 20, 2022

A non-blocking sender simply fails macos tests. Any ideas?

Try again. 😅

In fact, I don't want to support running on MacOS, It's painful to be compatible with MacOS, I want to just keep the compilation passed.@heyanlong @wu-sheng

@phanalpha
Copy link
Contributor Author

We know there's indeed a bug. What have you done with the checks? @jmjoy

@jmjoy
Copy link
Member

jmjoy commented Oct 20, 2022

We know there's indeed a bug. What have you done with the checks? @jmjoy

Maybe the number of endpoints has increased, so the bug of MacOS has emerged.

@wu-sheng
Copy link
Member

In fact, I don't want to support running on MacOS, It's painful to be compatible with MacOS, I want to just keep the compilation passed.

That is never a hard requirement. APM focuses on service monitoring in the product env, which is impossible to be a Mac.
So, generally, this is only a question we want to provide this for MAC locally testing, whether it is meaningful for PHP developers. You are more professional than me :)

@phanalpha
Copy link
Contributor Author

It should be able to pass all the tests for now, with a more predictable blocking sender but in another standalone thread per fpm. The non-atomic write_all should be solved in another PR.
Though macOS is not our primary target, it does help reveal the bugs. It just should work.

@jmjoy
Copy link
Member

jmjoy commented Oct 21, 2022

It should be able to pass all the tests for now, with a more predictable blocking sender but in another standalone thread per fpm. The non-atomic write_all should be solved in another PR. Though macOS is not our primary target, it does help reveal the bugs. It just should work.

Great job! Nonblocking sender will be done later.

jmjoy
jmjoy previously approved these changes Oct 21, 2022
Copy link
Member

@heyanlong heyanlong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will there be more and more threads?

@jmjoy
Copy link
Member

jmjoy commented Oct 21, 2022

However, can you also solve the problem of CI by just setting nonlocking to false?

@jmjoy jmjoy self-requested a review October 21, 2022 02:01
@phanalpha
Copy link
Contributor Author

Will there be more and more threads?

There will be one extra thread for each fpm. Simply sending to a non-blocking stream (or so) without retries is much too unreliable. If we could prove that it (send and forget) is acceptable on Linux, maybe it's better to apply these on macOS only (with conditional compilation). Nothing comes at no cost.

@phanalpha
Copy link
Contributor Author

However, can you also solve the problem of CI by just setting nonlocking to false?

By rolling back to 9088251?

@jmjoy
Copy link
Member

jmjoy commented Oct 21, 2022

However, can you also solve the problem of CI by just setting nonlocking to false?

By rolling back to 9088251?

Yes.

Copy link
Member

@jmjoy jmjoy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

THX~

@jmjoy jmjoy merged commit dc5b991 into apache:master Oct 21, 2022
@phanalpha
Copy link
Contributor Author

We know there are bugs on Reporter (channel/worker). Have we made our decisions over that?

@jmjoy
Copy link
Member

jmjoy commented Oct 21, 2022

We know there are bugs on Reporter (channel/worker). Have we made our decisions over that?

Well, you can create an issue follow (https://github.com/apache/skywalking-php#how-to-create-issue).

@jmjoy
Copy link
Member

jmjoy commented Oct 22, 2022

@phanalpha Issue has created. apache/skywalking#9831

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

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants