[Performance] Bad performance on Safari / app hanging and crashing / never finishes loading

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

What performance issue do we need to solve?
My account has grown quite a bit in terms of reports and personal details. I noticed as of lately that the performance became quite bad. Especially in Safari which is a bit stricter on resources it's really noticeable (see video). Specifically this refers to:

I have a chat room in which I know I received a new message (ie. by push notification)
I open NewDot and navigate to that chat
My local state is quite behind with messages, and I am looking at messages a few days old, waiting for the new messages to come in
It "takes forever" to load those new messages. The page might:

Shows an infinite loading skeleton (As it can be seen in the video when trying to load the app)
Crashes while loading (the page refreshes it self as it can be seen in the video)

https://github.com/user-attachments/assets/5c06e7a5-0d81-4918-a634-03bbdf0d9b34

Note: I opened the app because I saw I got some notifications for this room, but was stuck on older messages and the app becoming unresponsive while seemingly trying to load new messages

Eventually after reloading the app many times, keeping it open it might loads the data. I can also reproduce the infinite loading spinners on mobile.
In general the hanging is much more amplified in Safari (so in chrome its not as bad, but it happened there to me as well, just not as reliable).
I think a good way to reproduce this could be to create a room, close the app, with other users send lots of messages, attachments and create threads, and then open the app with the previous account again. I suspect that due to loading the gap data you're reliable able to reproduce.
What is the impact of this on end-users?

Time to interactive with a chat
General stableness and reliability perception of the app

List any benchmarks that show the severity of the issue
I have to collect yet some benchmarks that make sense.
Proposed solution (if any)
We'd like to do another performance audit of the web app in safari and identify performance issues that lead to the problems listed above.
For that audit we might come up with more exact metrics to see how the app performs currently and how it will perform after any performance improvements.
List any benchmarks after implementing the changes to show impacts of the proposed solution (if any)
Needs to be defined first.
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Version Number: v9.0.75-6
Reproducible in staging?: yes
Reproducible in production?: yes
Email or phone of affected tester (no<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL: /
Issue reported by: @hannojg
Slack conversation: /
View all open jobs on Upwork

Infinite loader might be same as this:

https://github.com/Expensify/App/issues/52027#issuecomment-2540094261

(Btw, would be great if you could assign this to me. Team Marcelo would like to do a performance profiling of the web app to fix those hanging issues)

Assigned!

@perunt from the Margelo team will work on this one. Can you please comment so it can be assigned to you Mr T? Thanks!

👋🏻

I'm currently working with the latest main branch and haven't noticed any performance differences compared to Chrome. There is a slight delay in rendering Likes, but otherwise everything runs smoothly. I plan to investigate this further later

@perunt let me get you my account credentials, I believe this could be related to account data


Getter most precise

I wish know names  of cols and rows rapid...
now I have implemented in my Konectik tool (ANN algorithm), this exemple of a part in my code:
CSVLoader::CSVLoader(string filepath, string separator){
    std::ifstream in(filepath);
    if (in.is_open()){
        string line;
        getline(in, line);
        in.close();
        vector<string> headercolnames;
        size_t position = line.find(separator);
        while (position != string::npos){
            headercolnames.push_back(line.substr(0,position));//here I collect names of cols header...
            line = line.substr(position+1, line.size());
            position = line.find(separator);
        }
        rapidcsv::Document doc(filepath, rapidcsv::LabelParams(0, -1));
        int long npos = 0;
        for (auto it=headercolnames.begin(); it!=headercolnames.end(); ++it){
            vector<float> col = doc.GetColumn<float>((*it));
            //XDATA[lpos][npos] = val;
            int long lpos = 0;
            for (auto itc=col.begin(); itc!=col.end();  ++itc){
                if ((*it).find("y")==0){
                    YDATA[lpos][npos] = (*itc);
                }
                else {
                    XDATA[lpos][npos] = (*itc);
                }
                lpos++;
            }
            npos++;
        }
    }
    else{
        cerr << filepath << " CANNOT BE OPEN !" << endl;
        exit(1);
    }
}

If I don't understand and no see, tell me.

I believe you should be able to get the column names using something like this (instead of manually reading it):
std::vector<std::string> headercolnames = doc.GetColumnNames();

If there still are problems, please help share the CSV file you are attempting to read. Or just the first 3 lines. Then I can help run a quick test on my side and help debug. Thanks!

Let me know if you are still facing issues, otherwise I will close this issue tomorrow. Thanks.

Closing this issue, please re-open if you are still facing issues.


Not to call setState after dispose.

Hello. I'm new to github and flutter.
After I've used Flutter Staggered Animations, I found that if AnimationLimiter is in the TabBarView, It can cause error like below.
════════ Exception caught by scheduler library ═════════════════════════════════════════════════════
The following assertion was thrown during a scheduler callback:
setState() called after dispose(): _AnimationLimiterState#7d53d(lifecycle state: defunct, not mounted)

This error happens if you call setState() on a State object for a widget that no longer appears in the widget tree (e.g., whose parent widget no longer includes the widget in its build). This error can occur when code calls setState() from a timer or an animation callback.

The preferred solution is to cancel the timer or stop listening to the animation in the dispose() callback. Another solution is to check the "mounted" property of this object before calling setState() to ensure the object is still in the tree.
This error might indicate a memory leak if setState() is being called because another object is retaining a reference to this State object after it has been removed from the tree. To avoid memory leaks, consider breaking the reference to this object during dispose().

When the exception was thrown, this was the stack:
#0      State.setState.<anonymous closure> (package:flutter/src/widgets/framework.dart:1112:9)
#1      State.setState (package:flutter/src/widgets/framework.dart:1147:6)
#2      _AnimationLimiterState.initState.<anonymous closure> (package:flutter_staggered_animations/src/animation_limiter.dart:45:7)
#3      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1102:15)
#4      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1049:9)
...
════════════════════════════════════════════════════════════════════════════════════════════════════

Please consider merge it.
Thanks.

when this PR will merged i can see errors in my logs regarding this issue

Duplicate of #31
Will be fixed in 0.1.3


Use enabled property for probes

Switching to new name for "Enabling" property for Probes, tested in GUI.

Thanks @aseth :+1:


Visual improvements

The TapZone highlight effect now quickly fades out instead of disappearing instantly.
CircleMarks can now move past the TapZones. They will smoothly fade out until they disappear.
While holding, the the initial CircleMark will stay visible, locked onto the tap zone (similar to SIF).
Various improvements for hold visuals, see 2ee524963d9886224fcbf688673607ac90aa7909

I plan to do some more work on the visuals/special effects later.

Can you create a pull request with the file which corresponds to the end of a hold? Regenerated my textures and your holds were gone. There's no need to modify the texture.png files, just add the image to the images folder.


Enigmatic Man

So Not Xemnas replaced the second boss fight for Riku in Hollow Bastion, but when he grabs you, you don't get a "release" option and so you are stuck with your health being drained for the second half of the fight. Was curious if there was a way around this besides just overleveling myself so the drainage doesn't really matter??

I'm aware the release option doesn't appear, I wasn't able to fix that. I'm not really an expert at that fight, but it should be possible to loop the boss such that you don't get grabbed. It can be quite an extreme challenge though, and that's how enemy randomizer is for better or worse. Feel free to unrandomize it or even change the seed.

Unfortunately he replaces the second Riku boss fight in Hollow Bastion so I don't have D&G to summon xD. That's good to know though! Didn't know that exploit. Would something like strike raid work? Cause I know that has I-frames. Or I think it does?

It will.


Add EndpointPicker tags to iOS example

Fixes issue mentioned in https://github.com/orchetect/MIDIKit/discussions/201

Thanks! Must have missed those lines during the UI refactor.


Utilize the absolute path to the ca.pem file

On the Configure the Kubernetes API Server step, we're moving the file to the /var/lib/kubernetes/ directory. Now when we try to verify the Kubernetes version info utilizing the cert, we'll receive the following error:
curl --cacert ca.pem https://${KUBERNETES_PUBLIC_ADDRESS}:6443/version
curl: (77) error setting certificate verify locations:
  CAfile: ca.pem
  CApath: /etc/ssl/certs

Addition: IMHO if hardcoding absolute paths is not a best idea by itself, doing it in several places of the document tends to make it unmanageable very fast.
Wouldn't it be the right time to put that path into variable to handle from single place?


Setting the right permission for ssh config

Issue #, if available:
Description of changes:
By creating the ssh config file, we should set the correct permission for this file, otherwise, the below error would come up with:
*********************************************************
    qemu: fatal: [default]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Bad owner or permissions on /home/image-builder/.ssh/config", "unreachable": true}
    qemu:
    qemu: PLAY RECAP

Testing (if applicable):
Yes
Documentation added/planned (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/approve
/ok-to-test

/cherrypick release-0.19


Feature Idea: Display price per liter (adjusted to shape)

Implemented by adding wood chip info instead


overflow the response values

Are there any downsides to doing this?

I don't think so. It was overflow-x: scroll before. The difference between auto and scroll is that auto will only show the scrollbar if content is being clipped. And I also don't specify the x axis since that caused issues with the y scrollbar for me.


added score social networks action dependency Signed-off-by: Ioan Vranau<EMAIL_ADDRESS>

<EMAIL_ADDRESS>

when adding a new action.. you must publish in on maven cetral before you can promote it to slang..
this is why the Travis CI fails...

I commited yesterday after hackaton because I understood that we need to commit in a branch all our work. And yes we need somebody to help us to publish into maven central.

ok

Developed during the Hackathon.
It is a great story, but we decided not to merge it


Added FLEX - Native token of OPNX.com

OPNX.com will be launching in coming weeks as the major claims trading place. FLEX is its native token. Please add it so that traders may not be confused.
https://etherscan.io/token/0xfcf8eda095e37a41e002e266daad7efc1579bc0a
Thanks!

I have read the CLA Document and I hereby sign the CLA

Thank you for your submission!
It has been addressed on https://github.com/cowprotocol/token-lists/pull/113
Please be aware that we just updated our token list update process.
Take a look at our readme where it is defined https://github.com/cowprotocol/token-lists


CVEs reported in v1.25.37

Our Security Scanning tools have identified Medium CVE in tigera operator. Can you please review this and help us with an update on following:

Documentation that explains the mitigation strategy that we can apply to reduce the severity level

Details on when is this going to be fixed with the expected version number and if its already fixed which version number is it fixed in.

CVEs reported:

CVE-2020-8912: A vulnerability in the in-band key negotiation exists in the AWS S3 Crypto SDK for GoLang versions prior to V2. An attacker with write access to the targeted bucket can change the encryption algorithm of an object in the bucket; which can then alLow them to change AES-GCM to AES-CTR. Using this in combination with a decryption oracle can reveal the authentication key used by AES-GCM as decrypting the GMAC tag leaves the authentication key recoverable as an algebraic equation. It is recommended to update your SDK to V2 or later; and re-encrypt your files.

github.com/aws/aws-sdk-go module prior to v1.34.0 is vulnerable to Arbitrary File Read. Users with reading access can recover the unencrypted S3 bucket content without accessing the encryption key. (This one is reported by our Prisma security scanning tool)

CVEs found in version: v1.25.37

Hello Tigera operator team is there any update in this Issue?. Thank you!

Hello team,
Is there any update on this?


Is it possible to change account?

Let's say I have one or more Google Drive accounts, how can I switch between them?

You can set the option for using a specific config file which will contain account specific details .

How this can be done?

gdrive -c foo list
This will look for a token.json inside the directory foo. If the directory does not exist, it will be created and prompt you for a new verification code.

@prasmussen i have try gdrive -c foo list . but if i try command "gdrive list"  ==> the list is my old account ... how to change account???


How to load the torch models from internet if there is bad network connection?

Thank you for your great work!
When trying to extract dino features, we need to load model from github through the code:
https://github.com/kerrj/lerf/blob/3b2cb902ea348cb6abf0cc02511ec0f4a0e38c09/lerf/data/utils/dino_extractor.py#L67-L82
but I cannot find a way to do that without available network. Do you have any alternative methods?

I have tried to download the corresponding weights from github to my local machine, and scp it to the server and modify your code to:
from torchvision.models import vit_b_16

if 'dino' in model_type:
            model_path = '/path/to/ckpt/dino_vitbase16_pretrain_full_checkpoint.pth'
            if os.path.exists(model_path):
                 model = vit_b_16(pretrained=True)
                 state_dict = torch.load(model_path)
                 model.load_state_dict(state_dict)
                 model.eval()
            else:
                 model = torch.hub.load('facebookresearch/dino:main', model_type)

But it seems that the backbone cannot match with the weights, with some keys missing.

I also tried to use torch.hub.load(source='local'):
model_dir = '~/.cache/torch/checkpoints'  # I have a hubconf.py and the weights dino_vitbase16_pretrain_full_checkpoint.pth under the directory
model_name = 'vit_b_16'
model = torch.hub.load(model_dir, model=model_name, source='local')

which also encountered into error in dino_extractor.py:
https://github.com/kerrj/lerf/blob/3b2cb902ea348cb6abf0cc02511ec0f4a0e38c09/lerf/data/utils/dino_extractor.py#L128
AttributeError: 'VisionTransformer' object has no attribute 'patch_embed'

Hi, I am having the same problem. Have you fixed that?

Sorry about that, but I haven't fixed that.


Add Nong Song: test

Song Name
test1
Artist Name
test2
Source
Youtube
Youtube Link
https://www.youtube.com/watch?v=dQw4w9WgXcQ
Direct File Link
No response
Song ID
2222
Start Offset [ms]
idk
Extra
No response

test


KAFKA-2945: CreateTopic - protocol and server side implementation

@granthenke Overall LGTM. Are you planning to add integration/system tests here or in another ticket? Also, do you have a plan for an AdminClient? I created one in kafka.admin as part of KIP-40, but it was really a stopgap to get 0.9 out. I'm hoping we can have implement a proper client in kafka-clients. I'm happy to help with any of this since I also want to push KIP-4 through.

@hachikuji Yes, I need to update the KIP-4 wiki and jira a bit more yet. But the goal is more or less 4 phased:

Add new protocols and server side implementations
Add new admin (java) client: I plan to add integration tests here
Add new admin CLI (wrapping client)
Refactor/clean-up and other related tickets

I will be sure to reach out for any help needed. Review on KIP-4 updates/design (when I update) and code review is always a great help.
Thanks for the review!

I have a silly question : create topic is implemented by Admin at 0.8.X ?  It's looks like redesgin ?

@darionyaphet You can read about KIP-4 here. I need to update that page, but the general information is there.
This is implementing the ability to create topics via Kafka instead of going directly to Zookeeper. Functionality that does not exist today.

Small comment regarding conflicts and you'll need to rebase.
Otherwise, LGTM.

Rebased, added some small fixes for the comments, and squashed the commits.

LGTM overall. One general comment (may not need to be included in this PR) is that for some cases the client may want to receive the response not immediately after it is written to ZK, but until it has been successfully created (i.e. https://issues.apache.org/jira/browse/KAFKA-1125).
Hence we may want to add another boolean field in the AbstractAdminRequest (where other requests like CreateTopicRequest extends from) indicating whether we want to be blocked or not.

@guozhangwang I agree that having a blocking option is important. Especially for actions like delete that could take some time. I would like to model it asynchronously now, since the functionality is built that way today and then consider how to add blocking shortly after, but still as part of KIP-4. Whether thats done server side, or simulated client side is up for question at that point. Does that align with your thoughts?
Can I convert KAFKA-1125 to a subtask of the KIP-4 jira?

@granthenke Yeah feel free to make it a sub-task.

I wan't to think through the blocking/async logic a bit. Please don't commit yet. (In case you were going too)

Making create topic blocking will be useful, but is also a bit tricky. We have to wait until the topic metadata is propagated to all brokers.

@junrao @granthenke In TestUtils we have a set of functions like waitUntilXXX and one of them checks the metadata has been propagated, maybe we can do similar things here (of course we cannot access the metadata caches directly, but through metadata request from the controller).

@guozhangwang @junrao I was starting to look into something along those lines, and will have more time later this week. A big question is whether we want to do the (optional) polling/blocking on the broker side before we respond or on the client side. What advantages do we get from doing it client side or broker side?

I personally prefer to keep the logic on the broker side since re-implementing this logic on clients, one time for each language like C / etc is tedious.
@granthenke @junrao Actually just checking metadata is updated is not enough since two requests are sent from controller, that can be handled by different threads, and we need to check that leader field is not null (which is from the LeaderAndISRRequest). More details from this PR: https://github.com/apache/kafka/pull/689

Hi @granthenke are you blocked on anything for this PR and KIP-4 in general?

Hi @guozhangwang I am not. I plan to pick up on this with near total focus in the next few days. My apologies for the delay. Other priorities got in the way.
My plan here is to add the logic to support blocking in the server side. We will need to think through how to handle a timeout in the request. Because topic creation is fire and forget in the current implimentation. It's not "transactional" in anyway. Meaning if I block for 5 minutes and the topic is still not completely created it may get created later, unless I have some sort of undo logic. I am thinking just blocking and leaving the existing behavior as is may be a good middle ground. Especially because creation issues should be rare.

Thanks @granthenke for your reply.
Yeah I think setting a timeout value in the AdminRequestPurgatory and expire it by returning an error code indicating "it has timed out, so the request may either succeed later / eventually, or it has failed and in the worst case leave the cluster in a bad state" is sufficient for ops people to jump in.

@guozhangwang @gwenshap @ijuma @hachikuji
I updated the PR with a major overhaul to allow optional blocking on topic creation. A timeout field was added to the protocol allowing a user to set the maximum wait time and a topic purgatory was added to the server. I also included some tests to ensure expected behavior, though they should be refactored in my PR for the AdminClient.

@granthenke : Thanks for the patch. It seems that you added the logic in KafkaApis to block a createTopicRequest until the metadata of the topic is propagated to the broker to which the createTopicRequest is sent. However, from a client's perspective, if it really wants to make sure that the topic is available, it has to wait for the metadata to be propagated to every broker since the metadata request can be issued to any broker.
There are a couple ways to do that: (1) forward the createTopicRequest to the controller and let the controller block until it propagates the metadata to every broker; (2) if this is just for admin purpose, we can implement the logic in the admin client to check the metadata on every broker after topic creation. (1) is a bit involved since we probably have to clean up the controller a bit to facilitate that. If we want to do (2) for now, there is no need to block in the createTopicRequest. Alternatively, we can just make createTopicRequest async for now (i.e., the topic's metadata is not guaranteed to be propagated to every broker after the request is responded.).

@junrao Thanks for taking a look.
Good point, we really need to be sure its propagated everywhere. I need to look at what it would take to implement, but I would really like to do it right this time. Especially given that a bunch of other admin requests may need to follow a similar pattern. For example I have some WIP code for for KAFKA-2946: DeleteTopic - protocol and server side implementation that leverages the same code:
https://github.com/granthenke/kafka/compare/create-wire...granthenke:delete-wire
You mentioned forwarding the requests to the controller. Another option is to force admin requests like this to go to the active controller and block until it propagates the metadata. This would require the MetadataResponse to the tell the client which broker is the controller. Is there a preference in which approach is taken?

@granthenke : For requests like produce/fetch, it makes sense to send the requests directly to the leader broker, instead of forwarding since there are typically lots of those requests. For admin requests like create/delete, forwarding is less of an issue since there are a lot fewer of those requests. Being able to talk to any broker also has the benefit that it simplifies the client side logic. Our client code uses non-blocking socket. Requiring finding the controller broker first means that we have to track an additional state in the client, which makes the client implementation more complicated. So, overall, forwarding admin requests to the controller is probably better.
We have to think through the following things: (1) we probably need a separate purgatory while waiting on the response if forwarding is needed. (2) Currently, the controller code is a bit messy and we plan to clean it up in the future (e.g., KAFKA-3210). So, ideally, whatever changes we make in the controller shouldn't be too intrusive or making the logic much more complicated than it is now. (3) If we make create/delete block, we probably should also make alter block as well. This is even tricker. First,  currently, most topic configs are stored in ZK and propagated through ZK watchers to the broker directly w/o going through the controller. So, not sure how we make sure that the topic config change is propagated to all brokers unless we talk to every broker directly. Alternatively, we can change config propagation so that it also goes through the controller. However, this requires inter broker protocol changes. Second, if one changes the replica assignment, we have to copy data across brokers. This can take arbitrarily long. So, it probably doesn't make sense to have a blocking request in this case. The client will have to keep checking periodically to see if this is done.
Given all the above, that's why initially we thought it's easier to start with just the async version of the those requests. If we want to go directly to the blocking implementation. It will be useful to think through the plan for each type of admin request.

@junrao I agree that the various scenarios for blocking are complex. But I also agree with @guozhangwang that doing it on the broker side is valuable. We will need to solve all the same problems in the AdminClient, and then so will every other client implementation. Also, changing to a blocking implementation later will likely require wire protocol changes.
I worry about the client, or brokers, polling every broker to validate the metadata is updated. For large clusters that may not scale and the implementation could be complex. For that reason, having the controller be the definitive authority on the state of the cluster would be useful.
Since the MetadataRequest is a sort of "DescribeTopic" topic request. Would it make sense for that request to be routed to the controller as well?
I agree it will be useful to think through the details of each admin request and how the forwarding logic would work as well. I will try some WIP implementations and update the KIP Wiki with the most up to date information and proposals so we can discuss it in the mailing list and on the KIP calls further.

@granthenke : I am not sure about forwarding MetadataRequest to the controller. MetadataRequest is more frequent since there is periodic metadata refresh in the clients. That's why we maintain a metadata cache per broker.
I agree that blocking on the broker side is useful for admin requests that are quick. I just want to point out this wasn't scoped during the original KIP-4 proposal. It's fine if we want to pick this up now. We can have a followup KIP discussion once we have a proposal on the implementation.

@junrao I am happy to stick with what was discussed and go with the async version. The change to blocking was based on feedback on my pull requests.
I am also happy to create a follow up KIP to implement a blocking version once this work is done. To reduce migration/compatibility pain, is it worth maintaining the timeout field in the wire protocol, and  only block until the local broker is updated for now? (and document that)
Regardless the KIP-4 wiki needs to be updated. So I will work on that.

@junrao Should I leave this patch as is and review based on a local blocking timeout with plans to fully block in the future? Or should I revert to completely async?
I don't feel strongly either way. My priority is to get this in, so I can create the other needed protocol messages and the admin client asap.

@granthenke : My preference is that if we want to do blocking, we do this consistently across all admin apis and do that in a state that we want in the long term. The local blocking implementation is probably not we want in the long term and doesn't have the full blocking semantic. Given that, for this patch, I'd recommend that we just go with the async implementation for now.

@junrao Perfect. I will submit an updated patch today to change back to async. I have created KAFKA-3249 to track future discussions about a blocking option.

@guozhangwang @gwenshap @ijuma @hachikuji  @junrao
I have pushed an updated async patch based on the previous discussion.

Rebased on trunk

For anyone interested I have also updated my WIP delete branch that depends on this PR: https://github.com/granthenke/kafka/compare/create-wire...granthenke:delete-wire

@guozhangwang @gwenshap @ijuma @hachikuji @junrao
Ping for review.

@junrao Thanks for the review! I have updated the patch to address your comments.


The first column must be set to pk？

I noticed that the action was based on first column value

Is there any way to make it not display ID？

Current no


[MB-4362] Update Filepond

Description
Explain a little about the changes at a high level.
Reviewer Notes
Is there anything you would like reviewers to give additional scrutiny?
Setup
Add any steps or code to run in this section to help others prepare to run your code:
echo "Code goes here"

Code Review Verification Steps

[ ] If the change is risky, it has been tested in experimental before merging.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change
this article explains more about the approach used.

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

Warnings

:warning:

It looks like you are attempting to bypass a linter rule, which is not within
security compliance rules.
** Contains a rule that is not in the permitted eslint list. You are free to disable only: (
no-underscore-dangle
,prefer-object-spread
,object-shorthand
,camelcase
,react/jsx-props-no-spreading
,react/destructuring-assignment
,react/forbid-prop-types
,react/prefer-stateless-function
,react/sort-comp
,import/no-extraneous-dependencies
,import/order
,import/prefer-default-export
,import/no-named-as-default
) **
Please remove the bypass code and address the underlying issue. cc: @transcom/Truss-Pamplemoose

:warning:
This PR does not include changes to unit tests, even though it affects app code.

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

Messages

:book:
:link: MB-4362

  Generated by :no_entry_sign: dangerJS against 82b7c3232070f151142bf18f095c285ca386f3e4

Warnings

:warning:

It looks like you are attempting to bypass a linter rule, which is not within
security compliance rules.
** Contains a rule that is not in the permitted eslint list. You are free to disable only: (
no-underscore-dangle
,prefer-object-spread
,object-shorthand
,camelcase
,react/jsx-props-no-spreading
,react/destructuring-assignment
,react/forbid-prop-types
,react/prefer-stateless-function
,react/sort-comp
,import/no-extraneous-dependencies
,import/order
,import/prefer-default-export
,import/no-named-as-default
) **
Please remove the bypass code and address the underlying issue. cc: @transcom/Truss-Pamplemoose

:warning:
This PR does not include changes to unit tests, even though it affects app code.

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

Messages

:book:
:link: MB-4362

  Generated by :no_entry_sign: dangerJS against 82b7c3232070f151142bf18f095c285ca386f3e4

Should existing files still be expected to be deleted even after the user hits cancel?
e.g. User goes to edit orders, deletes files, and then hits cancel.

Should existing files still be expected to be deleted even after the user hits cancel?
e.g. User goes to edit orders, deletes files, and then hits cancel.

Should existing files still be expected to be deleted even after the user hits cancel?
e.g. User goes to edit orders, deletes files, and then hits cancel.

good catch, I was just looking into that! In order to support this we need to be able to pass an AbortController into the swagger request function we use to make API calls. I would consider this a new bug fix, since hitting cancel on master now doesn't work either. I added a TODO comment here: https://github.com/transcom/mymove/pull/5750/commits/1f1e3628dd28eec59bfea7661b29d773d529bca3#diff-33404192fb1049d9519be45a6f1e820738158881d5ecca4ec62955a7c0346b16R35

Should existing files still be expected to be deleted even after the user hits cancel?
e.g. User goes to edit orders, deletes files, and then hits cancel.

good catch, I was just looking into that! In order to support this we need to be able to pass an AbortController into the swagger request function we use to make API calls. I would consider this a new bug fix, since hitting cancel on master now doesn't work either. I added a TODO comment here: https://github.com/transcom/mymove/pull/5750/commits/1f1e3628dd28eec59bfea7661b29d773d529bca3#diff-33404192fb1049d9519be45a6f1e820738158881d5ecca4ec62955a7c0346b16R35

Can we apply default table styling to the list of documents? So bold headers, and a border above each row? Styled headers will help folks tell them apart from the data, and the border will help tie together the info in each row. I also don't think we need the Delete column header.

Yes we can but I don't think that falls in the scope of this story :( do you mind making a JIRA ticket for it (or asking a PM to)?

Can we apply default table styling to the list of documents? So bold headers, and a border above each row? Styled headers will help folks tell them apart from the data, and the border will help tie together the info in each row. I also don't think we need the Delete column header.

Yes we can but I don't think that falls in the scope of this story :( do you mind making a JIRA ticket for it (or asking a PM to)?


d4rkAvatarOptimizer.cs Error CS0246: The type or namespace name 'IEditorOnly' could not be found

Freshly imported this into my project and have been getting this without fail. Tried importing it into a brand-new project and getting the same thing. Not sure exactly how to fix it. Unity won't go into play mode because of this, as well.
Packages\d4rkpl4y3r.d4rkavataroptimizer\Editor\d4rkAvatarOptimizer.cs(27,51): error CS0246: The type or namespace name 'IEditorOnly' could not be found (are you missing a using directive or an assembly reference?)
Using the 'https://d4rkc0d3r.github.io/vpm-repos/main.json' repository to import the optimizer

This error message sounds like you are using an outdated avatar & base sdk. Try to update both to 3.2.0 if they aren't already.


handshake problem

connection is established but no incoming traffic.
log:
2021-02-10` 16:05:20.720256: [MGR] Starting WireGuard/0.3.5 (Windows 10.0.16299; amd64)
2021-02-10 16:05:20.726264: [MGR] Starting UI process for user ‘Vahid@VAHID-PC’ for session 1
2021-02-10 16:06:51.622928: [TUN] [client] Starting WireGuard/0.3.5 (Windows 10.0.16299; amd64)
2021-02-10 16:06:51.639949: [TUN] [client] Watching network interfaces
2021-02-10 16:06:51.640951: [TUN] [client] Resolving DNS names
2021-02-10 16:06:51.640951: [TUN] [client] Creating Wintun interface
2021-02-10 16:06:51.750076: [TUN] [client] [Wintun] CreateAdapter: Creating adapter
2021-02-10 16:06:52.044028: [TUN] [client] [Wintun] SelectDriver: Extracting driver
2021-02-10 16:06:52.056059: [TUN] [client] [Wintun] SelectDriver: Installing driver
2021-02-10 16:06:52.924709: [TUN] [client] Using Wintun/0.10
2021-02-10 16:06:52.924709: [TUN] [client] Enabling firewall rules
2021-02-10 16:06:52.957749: [TUN] [client] Dropping privileges
2021-02-10 16:06:52.958751: [TUN] [client] Creating interface instance
2021-02-10 16:06:52.958751: [TUN] [client] Setting interface configuration
2021-02-10 16:06:52.958751: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:06:52.958751: [TUN] [client] UAPI: Updating private key
2021-02-10 16:06:52.958751: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:06:52.958751: [TUN] [client] Routine: TUN reader - started
2021-02-10 16:06:52.959753: [TUN] [client] UAPI: Removing all peers
2021-02-10 16:06:52.959753: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Created
2021-02-10 16:06:52.959753: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating preshared key
2021-02-10 16:06:52.959753: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating endpoint
2021-02-10 16:06:52.959753: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating persistent keepalive interval
2021-02-10 16:06:52.959753: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Removing all allowedips
2021-02-10 16:06:52.959753: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Adding allowedip
2021-02-10 16:06:52.959753: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Adding allowedip
2021-02-10 16:06:52.959753: [TUN] [client] Bringing peers up
2021-02-10 16:06:52.959753: [TUN] [client] Routine: event worker - started
2021-02-10 16:06:52.959753: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:06:52.960753: [TUN] [client] UDP bind has been updated
2021-02-10 16:06:52.960753: [TUN] [client] peer(LW3Y…OqDE) - Starting...
2021-02-10 16:06:52.960753: [TUN] [client] peer(LW3Y…OqDE) - Sending keepalive packet
2021-02-10 16:06:52.960753: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:06:52.960753: [TUN] [client] Monitoring default v6 routes
2021-02-10 16:06:52.960753: [TUN] [client] Binding v6 socket to interface 18 (blackhole=false)
2021-02-10 16:06:52.962756: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential receiver - started
2021-02-10 16:06:52.962756: [TUN] [client] Routine: receive incoming IPv4 - started
2021-02-10 16:06:52.962756: [TUN] [client] Routine: receive incoming IPv6 - started
2021-02-10 16:06:52.962756: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential sender - started
2021-02-10 16:06:52.970766: [TUN] [client] Setting device v6 addresses
2021-02-10 16:06:53.077404: [TUN] [client] Monitoring default v4 routes
2021-02-10 16:06:53.077404: [TUN] [client] Binding v4 socket to interface 13 (blackhole=false)
2021-02-10 16:06:53.077404: [TUN] [client] Setting device v4 addresses
2021-02-10 16:06:53.165513: [TUN] [client] Listening for UAPI requests
2021-02-10 16:06:53.165513: [TUN] [client] Startup complete
2021-02-10 16:06:58.205687: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:07:03.381118: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:07:03.381118: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:07:04.264416: [TUN] [client] Binding v6 socket to interface 0 (blackhole=true)
2021-02-10 16:07:08.670598: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:07:08.670598: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:07:13.848323: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:07:13.848323: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:07:19.102831: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:07:19.102831: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:07:24.141391: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:07:29.147775: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:07:34.456903: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:07:34.456903: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:07:39.118233: [TUN] [client] Device closing
2021-02-10 16:07:39.118233: [TUN] [client] Routine: TUN reader - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: event worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: receive incoming IPv4 - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: receive incoming IPv6 - stopped
2021-02-10 16:07:39.143265: [TUN] [client] peer(LW3Y…OqDE) - Stopping...
2021-02-10 16:07:39.143265: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential sender - stopped
2021-02-10 16:07:39.143265: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential receiver - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: handshake worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: encryption worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: decryption worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: handshake worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: handshake worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: handshake worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: encryption worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: encryption worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: encryption worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: decryption worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: decryption worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Routine: decryption worker - stopped
2021-02-10 16:07:39.143265: [TUN] [client] Interface closed
2021-02-10 16:07:39.143265: [TUN] [client] Shutting down
2021-02-10 16:07:39.145267: [MGR] [client] Tunnel service tracker finished
2021-02-10 16:08:47.901129: [TUN] [client] Starting WireGuard/0.3.5 (Windows 10.0.16299; amd64)
2021-02-10 16:08:47.901129: [TUN] [client] Watching network interfaces
2021-02-10 16:08:47.902632: [TUN] [client] Resolving DNS names
2021-02-10 16:08:47.902632: [TUN] [client] Creating Wintun interface
2021-02-10 16:08:47.992315: [TUN] [client] [Wintun] CreateAdapter: Creating adapter
2021-02-10 16:08:48.196686: [TUN] [client] Using Wintun/0.10
2021-02-10 16:08:48.196686: [TUN] [client] Enabling firewall rules
2021-02-10 16:08:48.234737: [TUN] [client] Dropping privileges
2021-02-10 16:08:48.235739: [TUN] [client] Creating interface instance
2021-02-10 16:08:48.235739: [TUN] [client] Setting interface configuration
2021-02-10 16:08:48.235739: [TUN] [client] UAPI: Updating private key
2021-02-10 16:08:48.235739: [TUN] [client] UAPI: Removing all peers
2021-02-10 16:08:48.235739: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:08:48.235739: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Created
2021-02-10 16:08:48.235739: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:08:48.235739: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:08:48.235739: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:08:48.235739: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating preshared key
2021-02-10 16:08:48.235739: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:08:48.235739: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:08:48.235739: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating endpoint
2021-02-10 16:08:48.235739: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:08:48.235739: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:08:48.235739: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:08:48.235739: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:08:48.235739: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:08:48.235739: [TUN] [client] Routine: TUN reader - started
2021-02-10 16:08:48.235739: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating persistent keepalive interval
2021-02-10 16:08:48.235739: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Removing all allowedips
2021-02-10 16:08:48.235739: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Adding allowedip
2021-02-10 16:08:48.235739: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Adding allowedip
2021-02-10 16:08:48.235739: [TUN] [client] Bringing peers up
2021-02-10 16:08:48.236740: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:08:48.236740: [TUN] [client] Routine: event worker - started
2021-02-10 16:08:48.237741: [TUN] [client] UDP bind has been updated
2021-02-10 16:08:48.237741: [TUN] [client] peer(LW3Y…OqDE) - Starting...
2021-02-10 16:08:48.237741: [TUN] [client] peer(LW3Y…OqDE) - Sending keepalive packet
2021-02-10 16:08:48.237741: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:08:48.237741: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential receiver - started
2021-02-10 16:08:48.237741: [TUN] [client] Routine: receive incoming IPv4 - started
2021-02-10 16:08:48.238742: [TUN] [client] Routine: receive incoming IPv6 - started
2021-02-10 16:08:48.238742: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential sender - started
2021-02-10 16:08:48.238742: [TUN] [client] Monitoring default v6 routes
2021-02-10 16:08:48.238742: [TUN] [client] Binding v6 socket to interface 18 (blackhole=false)
2021-02-10 16:08:48.239743: [TUN] [client] Setting device v6 addresses
2021-02-10 16:08:48.329731: [TUN] [client] Monitoring default v4 routes
2021-02-10 16:08:48.330232: [TUN] [client] Binding v4 socket to interface 13 (blackhole=false)
2021-02-10 16:08:48.330232: [TUN] [client] Setting device v4 addresses
2021-02-10 16:08:48.414338: [TUN] [client] Listening for UAPI requests
2021-02-10 16:08:48.414338: [TUN] [client] Startup complete
2021-02-10 16:08:53.514088: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:08:53.514088: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:08:58.676514: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:08:58.676514: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:00.410861: [TUN] [client] Binding v6 socket to interface 0 (blackhole=true)
2021-02-10 16:09:03.810121: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:08.994047: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:09:08.994047: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:14.251694: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:09:14.251694: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:19.575862: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:09:19.575862: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:24.385285: [TUN] [client] Device closing
2021-02-10 16:09:24.385285: [TUN] [client] Routine: TUN reader - stopped
2021-02-10 16:09:24.419212: [TUN] [client] Routine: event worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: receive incoming IPv4 - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: receive incoming IPv6 - stopped
2021-02-10 16:09:24.420214: [TUN] [client] peer(LW3Y…OqDE) - Stopping...
2021-02-10 16:09:24.420214: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential sender - stopped
2021-02-10 16:09:24.420214: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential receiver - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: handshake worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: encryption worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: decryption worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: handshake worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: handshake worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: handshake worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: encryption worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: encryption worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: encryption worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: decryption worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: decryption worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Routine: decryption worker - stopped
2021-02-10 16:09:24.420214: [TUN] [client] Interface closed
2021-02-10 16:09:24.420214: [TUN] [client] Shutting down
2021-02-10 16:09:24.431228: [MGR] [client] Tunnel service tracker finished
2021-02-10 16:09:26.301183: [TUN] [client] Starting WireGuard/0.3.5 (Windows 10.0.16299; amd64)
2021-02-10 16:09:26.301183: [TUN] [client] Watching network interfaces
2021-02-10 16:09:26.302685: [TUN] [client] Resolving DNS names
2021-02-10 16:09:26.302685: [TUN] [client] Creating Wintun interface
2021-02-10 16:09:26.332173: [TUN] [client] [Wintun] CreateAdapter: Creating adapter
2021-02-10 16:09:26.549479: [TUN] [client] Using Wintun/0.10
2021-02-10 16:09:26.549479: [TUN] [client] Enabling firewall rules
2021-02-10 16:09:26.570355: [TUN] [client] Dropping privileges
2021-02-10 16:09:26.571356: [TUN] [client] Creating interface instance
2021-02-10 16:09:26.571356: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Setting interface configuration
2021-02-10 16:09:26.571356: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: encryption worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: handshake worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: decryption worker - started
2021-02-10 16:09:26.571356: [TUN] [client] Routine: TUN reader - started
2021-02-10 16:09:26.571356: [TUN] [client] UAPI: Updating private key
2021-02-10 16:09:26.571356: [TUN] [client] Routine: event worker - started
2021-02-10 16:09:26.571356: [TUN] [client] UAPI: Removing all peers
2021-02-10 16:09:26.571356: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Created
2021-02-10 16:09:26.571356: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating preshared key
2021-02-10 16:09:26.571356: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating endpoint
2021-02-10 16:09:26.571356: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Updating persistent keepalive interval
2021-02-10 16:09:26.571356: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Removing all allowedips
2021-02-10 16:09:26.571356: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Adding allowedip
2021-02-10 16:09:26.571356: [TUN] [client] peer(LW3Y…OqDE) - UAPI: Adding allowedip
2021-02-10 16:09:26.571356: [TUN] [client] Bringing peers up
2021-02-10 16:09:26.572358: [TUN] [client] UDP bind has been updated
2021-02-10 16:09:26.572358: [TUN] [client] peer(LW3Y…OqDE) - Starting...
2021-02-10 16:09:26.572358: [TUN] [client] peer(LW3Y…OqDE) - Sending keepalive packet
2021-02-10 16:09:26.572358: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:26.572358: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential receiver - started
2021-02-10 16:09:26.572358: [TUN] [client] Routine: receive incoming IPv4 - started
2021-02-10 16:09:26.572358: [TUN] [client] Routine: receive incoming IPv6 - started
2021-02-10 16:09:26.573360: [TUN] [client] peer(LW3Y…OqDE) - Routine: sequential sender - started
2021-02-10 16:09:26.573360: [TUN] [client] Monitoring default v6 routes
2021-02-10 16:09:26.573360: [TUN] [client] Binding v6 socket to interface 18 (blackhole=false)
2021-02-10 16:09:26.573360: [TUN] [client] Setting device v6 addresses
2021-02-10 16:09:26.652270: [TUN] [client] Monitoring default v4 routes
2021-02-10 16:09:26.652270: [TUN] [client] Binding v4 socket to interface 13 (blackhole=false)
2021-02-10 16:09:26.652270: [TUN] [client] Setting device v4 addresses
2021-02-10 16:09:26.746094: [TUN] [client] Listening for UAPI requests
2021-02-10 16:09:26.746094: [TUN] [client] Startup complete
2021-02-10 16:09:26.943932: [TUN] [client] Binding v6 socket to interface 0 (blackhole=true)
2021-02-10 16:09:31.792368: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:36.963531: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:09:36.963531: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:41.988059: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:47.173757: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:09:47.173757: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:52.425181: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:09:52.425181: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:09:57.749390: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:09:57.749390: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:10:02.830126: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:10:02.830126: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:10:08.139552: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 3)
2021-02-10 16:10:08.139552: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:10:13.280833: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:10:13.280833: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:10:18.438730: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:10:18.438730: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:10:23.461669: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:10:28.734500: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:10:28.734500: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
2021-02-10 16:10:33.811246: [TUN] [client] peer(LW3Y…OqDE) - Handshake did not complete after 5 seconds, retrying (try 2)
2021-02-10 16:10:33.811246: [TUN] [client] peer(LW3Y…OqDE) - Sending handshake initiation
what is the problem???

Looks like a connectivity issue. Make sure that the server is not firewalled and your client network is unfiltered.

im getting this same issue .. how to fix ???


Tasks

[ ] (Web5 Team) Describe expected impact of this release. API Changes? (👍/👎) DWN Wire Incompatibility requiring hosted DWN server reset? (👍/👎)
[ ] (Web5 Team) Cut preview/alpha release for acceptance testing. Version - versionNumberHere. Link - here.
[ ] (Web5 Team) Run Web5 tests against acceptance suite. Link to branch with passing bundler-bonanza w/ upgraded Web5 dep -
[ ] (Open Source Programs Engineering) Create new branch on site repo for the upgrade. Branch - Link here
[ ] (Open Source Programs Engineering) Open PR on this branch. PR - Link here
[ ] (Open Source Programs Engineering) This will trigger a Deploy Preview on Netlify. Deploy Preview - Link here
[ ] (Open Source Programs Engineering) Update the Web5 version to the alpha release in site monorepo
[ ] (Open Source Programs Engineering) Run the monorepo tests - this will cover code snippets and examples
[ ] (Open Source Programs Engineering) Manually check QuickStart (required as manual until Issue 1093 is completed)
[ ] (Open Source Programs Engineering) Check results of tests
[ ] (DevRel) If errors, issue updates to guides, examples in the release branch until tests pass
[ ] (Web5 Team) Cut release of Web5 available on Releases Page
[ ] (Open Source Programs Engineering) Update Web5 version in site to new Web5 version on branch
[ ] (Open Source Programs Engineering) The release of Web5 will trigger tbdocs automation and open a PR for that against the site. Merge that PR in the branch.
[ ] (Open Source Programs Engineering) Rebase and merge site to main, run tests, push upstream
[ ] (Open Source Programs Engineering) Retrain AskGPT bot on new data

(Web5 Team) Describe expected impact of this release. API Changes? (👍) DWN Wire Incompatibility requiring hosted DWN server reset? (👍). API changes seem to be backward compatible or non-user facing, the ADDITIONAL API we added is a delete() method on the Record class, so you can use that in place of web5.dwn.records.delete(recordId)

(Web5 Team) Cut preview/alpha release for acceptance testing. Version 0.0.0-next-f71ce8a-20240718000106

(Web5 Team) Run Web5 tests against acceptance suite. Link to branch with passing bundler-bonanza w/ upgraded Web5 dep - https://github.com/TBD54566975/bundler-bonanza/pull/85
Bundle passes except for react native, it's able to pass locally but not sure what is going on with the bundler. @shamilovtim mentioned it might have to do with versioning but that Wallet works as expected.

we already upgraded to this-- closing this issue


Transactions aren't traced eventhough the agent is hooked successfully

Hi team,
We weren't able to see any of the transactions been traced eventhough the agent connection successful.
Load graph shows "No Data". Inspector shows the heap and CPU graphs for a short duration. But none of the transactions are traced. We modified only the below parameter from default 64 to 120.
profiler.callstack.max.depth=64
Do we need to enable any config parameters.
Thanks
Sattish.

Hi Sattish,
Could you give me more details on your server? What it's running on and library stacks you're expecting to see get traced?

Hi HyunGil,
Thanks for the response. We use Tomcat container which is dockerized and wrapped . Have listed few snippets from agent log so that we can review. We can see the monitoring metrics like CPU,JVM usage but none of the transactions been traced. Do we need to set a entry point
2016-08-26 10:20:26 [DEBUG](c.n.p.p.j.i.ReadValueInterceptor   :96 ) BEFORE org.codehaus.jackson.map.ObjectMapper  args:(byte[], class com.ebayinc.platform.config.ProviderProperties)
2016-08-26 10:20:26 [DEBUG](c.n.p.b.i.BasicMethodInterceptor   :96 ) BEFORE org.codehaus.jackson.map.ObjectMapper  args:(null, null, null, null, null)
2016-08-26 10:20:26 [DEBUG](c.n.p.b.i.BasicMethodInterceptor   :150) AFTER org.codehaus.jackson.map.ObjectMapper  args:(null, null, null, null, null)
2016-08-26 10:20:26 [DEBUG](c.n.p.b.i.BasicMethodInterceptor   :96 ) BEFORE org.codehaus.jackson.map.ObjectMapper  args:(null, null, null)
2016-08-26 10:20:26 [DEBUG](c.n.p.b.i.BasicMethodInterceptor   :150) AFTER org.codehaus.jackson.map.ObjectMapper  args:(null, null, null)
2016-08-26 10:20:26 [DEBUG](c.n.p.b.i.BasicMethodInterceptor   :96 ) BEFORE org.codehaus.jackson.map.ObjectMapper  args:()
2016-08-26 10:20:26 [DEBUG](c.n.p.b.i.BasicMethodInterceptor   :150) AFTER org.codehaus.jackson.map.ObjectMapper  args:()
Thanks
Sattish.

Sattish, would it be possible to post the full agent log? You can mail it over if it's too long.
Tomcat should be traced automatically without manually setting entrypoints. I'd like to see if the agent's tracing Tomcat methods at all.

Hi HyunGil,
Herewith i attached the agent log plz review and let me know
Thanks
Sattish.
kncntusrstage18281-pinpoint.log.txt

Hi Sattish,
thanks for the log.
One thing I've noticed is that the application you're tracing is wrapped with Tanuki service wrapper. We haven't tested the agent against this so I'm not sure how it'd affect everything. However, the log seems to show everything working fine so I don't think this is much of an issue.
From the logs however, Tomcat methods are being traced just fine.
TSpan(
	agentId:kncntusrstage18281,
	applicationName:paymentexecutionserv,
	agentStartTime:1472505106068,
	transactionId:00 01 94 9D 93 C1 ED 2A 01,
	spanId:3978865508877068946,
	startTime:1472505135241,
	elapsed:2585,
	rpc:/admin/v3console/ValidateInternals,
	serviceType:1010,
	endPoint:<IP_ADDRESS>:19415,
	remoteAddr:<IP_ADDRESS>, flag:0,
	spanEventList:[
		TSpanEvent(sequence:0, startElapsed:139, endElapsed:2446, serviceType:1011, annotations:[TAnnotation(key:41, value:<TAnnotationValue stringValue:forceXml=true>)], depth:1, apiId:-63)
	],
	apiId:-64, applicationServiceType:1000
)

So the agent is definitely tracing Tomcat methods.
A few things you could check is to go through the collector log and see if it's receiving those spans. SpanHandler should be logging something like Received SPAN=TSpan(... with the matching data.
Also make sure the UDP span port is set up correctly.
Also, I've noticed there's a ton of tracing logs for JSON methods. You could disable Jackson tracing to clear out the log (at least while debugging) by setting profiler.json.jackson=false in pinpoint.config file.
Let me know how this works out.

Hi Hyn,
Yeah we use Tanuki service wrapper for our Java Services. I have disabled
the jackson tracing. In my host i could see lot of instances of
pinpoint-collector.properties. I am not sure which one needs to be changed.
/target/classes/pinpoint-collector.properties
/target/deploy/WEB-INF/classes/pinpoint-collector.properties
/target/war/work/com.navercorp.pinpoint/pinpoint-collector/WEB-INF/classes/pinpoint-collector.properties
Also let me know the location of collector log file
Thanks
sattish.
On Mon, Aug 29, 2016 at 7:58 PM, HyunGil Jeong<EMAIL_ADDRESS>wrote:

Hi Sattish,
thanks for the log.
One thing I've noticed is that the application you're tracing is wrapped
with Tanuki service wrapper. We haven't tested the agent against this so
I'm not sure how it'd affect everything. However, the log seems to show
everything working fine so I don't think this is much of an issue.
From the logs however, Tomcat methods are being traced just fine.
TSpan(
agentId:kncntusrstage18281,
applicationName:paymentexecutionserv,
agentStartTime:1472505106068,
transactionId:00 01 94 9D 93 C1 ED 2A 01,
spanId:3978865508877068946,
startTime:1472505135241,
elapsed:2585,
rpc:/admin/v3console/ValidateInternals,
serviceType:1010,
endPoint:<IP_ADDRESS>:19415,
remoteAddr:<IP_ADDRESS>, flag:0,
spanEventList:[
TSpanEvent(sequence:0, startElapsed:139, endElapsed:2446, serviceType:1011, annotations:[TAnnotation(key:41, value:)], depth:1, apiId:-63)
],
apiId:-64, applicationServiceType:1000
)
So the agent is definitely tracing Tomcat methods.
A few things you could check is to go through the collector log and see if
it's receiving those spans. SpanHandler should be logging something like Received
SPAN=TSpan(... with the matching data.
Also make sure the UDP span port is set up correctly.
Also, I've noticed there's a ton of tracing logs for JSON methods. You
could disable Jackson tracing to clear out the log (at least while
debugging) by setting profiler.json.jackson=false in pinpoint.config
file.
Let me know how this works out.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/naver/pinpoint/issues/2015#issuecomment-243319343,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHGqmdaL44MfWjFiMUKNcFywebTYaHCBks5qk5xOgaJpZM4JtqmD
.

--
with regards,
Sattish
9940080070

The collector log is appended to console, so if you're deploying collector on Tomcat it should be printed out to catalina.out (or whatever log file you've set up to redirect console log). I'm not sure if using Tanuki changes this so you'll have to check.
For the pinpoint-collector.properties question, may I ask what you're looking to change here? Or are you simply trying to check the UDP span port?
Either way, if you're building from source and then deploying the collector war, modifying the source pinpoint-collector.properties (should be under $PINPOINT/collector/src/main/resources directory), then building + deploying should work.
If you've downloaded the packaged war from github, you might want to modify the pinpoint-collector.properties file from wherever the WAS exploded the war file.

So it looks like requests are getting traced okay. Is the /admin/v2console/ViewJMXMBeans not part of your application API? Can you see these calls on the scatter chart?
If the API above is not part of your application (perhaps maybe Tanuki wrapper's?), could you give a quick rundown on how your application is running?
Also, is Tanuki wrapper the one actually starting your application by launching a separate Java process? If this is the case, I would guess attaching Pinpoint agent to Tanuki wrapper's JVM might exhibit what you're seeing above. You'll want to attach the agent to the actual JVM that is running your application.

Hi HyunGil,
Thanks for the response. Appreciate your extended support.
So it looks like requests are getting traced okay. Is the
/admin/v2console/ViewJMXMBeans not part of your application API? Can you
see these calls on the scatter chart?
[Sattish] But these aren't part of our application stack. I could see only
one call in scatter chart.
Yes Tanuki was used as a wrapper to start our application. We have also
used other profiling and APM tools, those are been attached to the main
process . Have listed the two java process after the start up.
We would like to attach the agent to the actual JVM process running our
application.
78402     2940     1  0 Aug31 ?        00:01:32
/ppackages/manifests/active/JSW/getus/scripts/JSW/bin/./wrapper
/ppackages/manifests/active/JSW/getus/scripts/JSW/bin/../conf/wrapper.conf
wrapper.syslog.ident=ppsapp
wrapper.pidfile=/ppackages/manifests/active/JSW/getus/scripts/JSW/bin/./ppsapp.pid
wrapper.name=ppsapp wrapper.displayname=A pps JVM Application
wrapper.daemonize=TRUE
wrapper.statusfile=/ppackages/manifests/active/JSW/getus/scripts/JSW/bin/./ppsapp.status
wrapper.java.statusfile=/ppackages/manifests/active/JSW/getus/scripts/JSW/bin/./ppsapp.java.status
wrapper.script.version=3.5.26
78402     2942  2940  8 Aug31 ?        02:03:17
/ppackages/manifests/active/JDK/getus/scripts/jdk1.8.0_60/bin/java
-Djava.io.tmpdir=pas/getus/scripts/app/temp -Dsun.net.inetaddr.ttl=60
-Dnetworkaddress.cache.ttl=60 -Doracle.jdbc.TcpNoDelay=true
-Dcom.ebay.kernel.configuration.ext.nonsticky=true
-Dcom.ebay.LazyInitDALCaches=false -Dfile.encoding=UTF-8
-XX:MaxDirectMemorySize=1024m -Xmn800m -XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled
-Dcom.ebay.kernel.context.externalConfigRootUrl=./eagleconfig/extconfig
-Xloggc:pas/getus/scripts/app/logs/verbosegc.log -XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=40 -XX:GCLogFileSize=5000k
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=19417
-Dcom.ebayinc.config.root=pas/getus/scripts/app/cdbs/
-Djava.security.properties=JSW/getus/scripts/JSW/conf/pp.java.security
-Dcom.pps.protected.root=pas/getus/scripts/app/../protected
-Dcom.pps.config.root=pas/getus/scripts/app/../protected -
Dspring.config.name=springboot
-javaagent:/opt/pinpoint-agent-1.5.2/pinpoint-bootstrap-1.5.2.jar
-Dpinpoint.agentId=kncntusrstage18281 -Dpinpoint.applicationName=pas
-Dapplication.nonssl.port=19415 -Dapplication.ssl.port=19420
-Dadmin.port=19414 -Xms2200m -Xmx2200m
-Djava.library.path=JSW/getus/scripts/JSW/lib
-Dwrapper.key=tWffyu3y-tve1Fng -Dwrapper.port=19419
-Dwrapper.disable_console_input=TRUE -Dwrapper.pid=2940
-Dwrapper.version=3.5.26 -Dwrapper.native_library=wrapper
-Dwrapper.arch=x86 -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10
-Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperStartStopApp
com.pps.platform.lend.lta.execution.service.eagleApplication 0
com.pps.eagle.springboot.core.shutdown.eaglePrepareShutdown false 0
This above process details can give you a fair idea on how our application
been started. We want to attach to process id 2942.
Thanks
Sattish
On Wed, Aug 31, 2016 at 7:37 PM, HyunGil Jeong<EMAIL_ADDRESS>wrote:

So it looks like requests are getting traced okay. Is the
/admin/v2console/ViewJMXMBeans not part of your application API? Can you
see these calls on the scatter chart?
If the API above is not part of your application (perhaps maybe Tanuki
wrapper's?), could you give a quick rundown on how your application is
running?
Also, is Tanuki wrapper the one actually starting your application by
launching a separate Java process? If this is the case, I would guess
attaching Pinpoint agent to Tanuki wrapper's JVM might exhibit what you're
seeing above. You'll want to attach the agent to the actual JVM that is
running your application.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/naver/pinpoint/issues/2015#issuecomment-243959905,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHGqmcyl-iV_brq879OKmNsqfjtVQNcKks5qljpygaJpZM4JtqmD
.

--
with regards,
Sattish
9940080070

@sattishv
Ah, it all makes sense now :)
There looks to be an option to pass arguments when tanuki launches a new java process.
Check out wrapper.java.additional.#= option inside Tanuki's wrapper.conf file.
Let me know if this works.

Hi HynGil,
We already added those options we were able to detect the tomcat container
only after adding those options
wrapper.java.additional.26=-javaagent:/opt/pinpoint-agent-1.5.2/pinpoint-bootstrap-1.5.2.jar
wrapper.java.additional.27=-Dpinpoint.agentId=kncntusrstage18281
wrapper.java.additional.38=-Dpinpoint.applicationName=paymentexecutionserv
But tracing detection looks different are we missing out something,
Thanks
Sattish
On Thu, Sep 1, 2016 at 7:04 PM, HyunGil Jeong<EMAIL_ADDRESS>wrote:

@sattishv https://github.com/sattishv
Ah, it all makes sense now :)
There looks to be an option to pass arguments when tanuki launches a new
java process.
Check out wrapper.java.additional.#= option inside Tanuki's wrapper.conf
file.
Let me know if this works.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/naver/pinpoint/issues/2015#issuecomment-244264456,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHGqmR1Z397V1__dENoVblsbGfkklZytks5ql4QkgaJpZM4JtqmD
.

--
with regards,
Sattish
9940080070

I see.
It might be that the agent doesn't work very well with processes launched by Tanuki. But before we come to that conclusion, couple of things you could try:
Try launching Tanuki service wrapper without any Pinpoint-related argument, and leave the wrapper.java.additional.# options in. This way, only the actual Tomcat application should get traced and the agent log should give us more info about it. (I also noticed the numbering on wrapper.java.additional.38` jumps from 27. I don't think this would be an issue but just in case)
Also, it looked like you've launched the Tanuki service wrapper with the same agentId as the one configured inside wrapper.conf. This will register 2 agents with the same agentId but different service type and might cause some issues. Either try the above and launch Tanuki without the agent, or change the agentId to something unique.

Hi Hyn,
Sorry i can't try your recommendations as i lost the environment. It would take a couple of weeks for me to get the same environment. Mean time i tried a different approach for another application.
New approach:
Installed pinpoint app on docker container in a separate host
Started the docker image using the below command also exposed the ports to outside world
docker run -i -t --net=bridge -p 28080-28082:28080-28082 -p 29994-29997:29994-29997 --cap-add SYS_PTRACE yous/pinpoint:1.5.2 bash
Then started the pinpoint app using scripts in quickstart/bin
Now the ports are exposed. I can access the pinpoint-web from outside using http://{ipaddresshost:28080} but the agent wasn't hooked properly. I couldn't see the logs folder been created inside the agent installtion folder on a different host.
Pinpoint agent configuration:

Pinpoint agent configuration

###########################################################
Collector server
###########################################################
profiler.collector.ip=<IP_ADDRESS>
placeHolder support "${key}"
profiler.collector.span.ip=${profiler.collector.ip}
profiler.collector.span.port=29996
placeHolder support "${key}"
profiler.collector.stat.ip=${profiler.collector.ip}
profiler.collector.stat.port=29995
placeHolder support "${key}"
profiler.collector.tcp.ip=${profiler.collector.ip}
profiler.collector.tcp.port=29994
Few log snippets from pinpoint collector console:
09-09 01:02:22 DEBUG Process Zookeeper Event(WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/pinpoint-cluster/web)
09-09 01:02:22 [INFO ](c.n.p.c.c.z.DefaultZookeeperClient :293) ChildNode List = [<IP_ADDRESS>:29997]
09-09 01:02:22 INFO  Handle register and remove Task. Current Address List = [], Cluster Address List = [/<IP_ADDRESS>:29997]
09-09 01:02:22 INFO  localhost -> /<IP_ADDRESS>:29997 connect started.
09-09 01:02:22 DEBUG DefaultPinpointClientHandler@2aed3e78 channelOpen() started. channel:[id: 0x96038217]
09-09 01:02:22 INFO  DefaultPinpointClientHandler@2aed3e78 channelConnected() started. channel:[id: 0x96038217, /<IP_ADDRESS>:32821 => /<IP_ADDRESS>:29997]
09-09 01:02:22 DEBUG DefaultPinpointClientHandler@2aed3e78 stateTo() started. to:CONNECTED
09-09 01:02:22 INFO  DefaultPinpointClientHandler@2aed3e78 stateTo() completed. Socket state change success(updateWanted:CONNECTED ,before:NONE ,current:CONNECTED).
09-09 01:02:22 DEBUG DefaultPinpointClientHandler@2aed3e78 stateTo() started. to:RUN_WITHOUT_HANDSHAKE
09-09 01:02:22 INFO  DefaultPinpointClientHandler@2aed3e78 stateTo() completed. Socket state change success(updateWanted:RUN_WITHOUT_HANDSHAKE ,before:CONNECTED ,current:RUN_WITHOUT_HANDSHAKE).
09-09 01:02:22 [INFO ](c.n.p.r.c.PinpointClientHandshaker :82) PinpointClientHandshaker@dcb97cb handshakeStart() started. channel:[id: 0x96038217, /<IP_ADDRESS>:32821 => /<IP_ADDRESS>:29997]
09-09 01:02:22 [INFO ](c.n.p.r.c.PinpointClientHandshaker :131) PinpointClientHandshaker@dcb97cb do handshake(1/2147483647). channel:[id: 0x96038217, /<IP_ADDRESS>:32821 => /<IP_ADDRESS>:29997].
09-09 01:02:22 [DEBUG](c.n.p.r.c.PinpointClientHandshaker :55) HandShakePacket write success. channel:[id: 0x96038217, /<IP_ADDRESS>:32821 => /<IP_ADDRESS>:29997]
09-09 01:02:22 [DEBUG](c.n.p.r.c.PinpointClientHandshaker :144) PinpointClientHandshaker@dcb97cb reserveHandshake() started.
09-09 01:02:22 [INFO ](c.n.p.r.c.PinpointClientHandshaker :114) PinpointClientHandshaker@dcb97cb handshakeStart() completed. channel:[id: 0x96038217, /<IP_ADDRESS>:32821 => /<IP_ADDRESS>:29997], data:{socketId=1, cluster={id=3583@d667b2bee1fe, roles=[ROUTER]}, id=3583@d667b2bee1fe}
09-09 01:02:22 INFO  DefaultPinpointClientHandler@2aed3e78 channelConnected() completed.
09-09 01:02:22 [INFO ](c.n.p.r.u.ClientFactoryUtils       :47) tcp connect success. remote:/<IP_ADDRESS>:29997
09-09 01:02:22 INFO  localhost -> /<IP_ADDRESS>:29997 connect completed.
09-09 01:02:22 [INFO ](c.n.p.r.c.PinpointClientHandshaker :149) PinpointClientHandshaker@dcb97cb handshakeComplete() started. responsePacket:ControlHandshakeResponsePacket{requestId=0, payloadLength=78}
09-09 01:02:22 [INFO ](c.n.p.r.c.PinpointClientHandshaker :167) PinpointClientHandshaker@dcb97cb handshakeComplete() completed. handshake-response:{cluster={id=6811@d667b2bee1fe, roles=[CALLER]}, code=0, subCode=2}.
09-09 01:02:22 INFO  DefaultPinpointClientHandler@2aed3e78 handleHandshakePacket() started. message:ControlHandshakeResponsePacket{requestId=0, payloadLength=78}
09-09 01:02:22 DEBUG DefaultPinpointClientHandler@2aed3e78 stateTo() started. to:RUN_DUPLEX
09-09 01:02:22 INFO  DefaultPinpointClientHandler@2aed3e78 stateTo() completed. Socket state change success(updateWanted:RUN_DUPLEX ,before:RUN_WITHOUT_HANDSHAKE ,current:RUN_DUPLEX).
09-09 01:02:22 INFO  [id: 0x96038217, /<IP_ADDRESS>:32821 => /<IP_ADDRESS>:29997] handleHandshakePacket() completed. code:DUPLEX_COMMUNICATION
---pinpoint-quickstart-web initialization completed. pid=6811.---
01:02:44 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/getServerMapData/] onto handler 'mapController'
01:02:44 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/getLastServerMapData] onto handler 'mapController'
01:02:44 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/getLastServerMapData.] onto handler 'mapController'
01:02:44 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/getLastServerMapData/] onto handler 'mapController'
01:02:44 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/getResponseTimeHistogramData] onto handler 'mapController'
01:02:44 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/getResponseTimeHistogramData.] onto handler 'mapController'
01:02:44 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/getResponseTimeHistogramData/] onto handler 'mapController'
01:02:45 INFO (o.s.w.s.DispatcherServlet          :504) FrameworkServlet 'pinpoint-web': initialization completed in 934 ms
Sep 09, 2016 1:02:45 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-28080"]
01:02:49 DEBUG(c.n.p.w.c.MainController           :50 ) /applications []
Not sure how to debug this going forward we would like to have this type of deployment
How different is this from previous deployment:
Previous one had both pinpoint app and agent on the same host means pinpoint app resided on docker container and agent on the same host. In current approach we separated the agent and pinpoint app means both on separate host.
Could you please review and let me know how we can proceed on this.
Thanks
Sattish.

Pinpoint should work just fine with the collector, web, and the applications running pinpoint agent all on different machines. In fact, that is the preferred way of running things.
That said, from the log above, it seems like your collector and web are running on the same host on <IP_ADDRESS>. This is fine and it looks like they're running okay.
What I don't see however is the agent connection events from your collector log, so the agent probably has problem connecting to collector.
Is profiler.collector.ip=<IP_ADDRESS> correct?
@dawidmalina Hi dawid, could you kindly take a look at this and pitch in if you see anything odd?

You configured collector with this ports
profiler.collector.span.port=29996
profiler.collector.stat.port=29995
profiler.collector.tcp.port=29994

but two of them should be udp and tcp by default -p port expose only tcp port.
So what I would suggest is to add -p 29995-29996:29995-29996/udp and try once again.

Hi Hyn & dawid,
Thanks. Let me try your inputs and update whether we were able to connect the agent.
Thanks
Sattish.

Hi Hyn & dawid,
While trying to build the project from source i got this warning
[INFO] Building pinpoint 1.6.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-pinpoint-build-requirements) @ pinpoint ---
[WARNING] Rule 2: org.apache.maven.plugins.enforcer.RequireEnvironmentVariable failed with message:
Environment variable "JAVA_6_HOME" is required for this build.
[WARNING] Rule 3: org.apache.maven.plugins.enforcer.RequireEnvironmentVariable failed with message:
Environment variable "JAVA_7_HOME" is required for this build.
[WARNING] Rule 4: org.apache.maven.plugins.enforcer.RequireEnvironmentVariable failed with message:
Environment variable "JAVA_8_HOME" is required for this build.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] pinpoint .......................................... FAILURE [  0.525 s]
[INFO] pinpoint-thrift ................................... SKIPPED
[INFO] pinpoint-commons .................................. SKIPPED
[INFO] pinpoint-commons-hbase ............................ SKIPPED
[INFO] pinpoint-commons-server ........................... SKIPPED
[INFO] pinpoint-bootstrap-core ........................... SKIPPED
[INFO] pinpoint-bootstrap ................................ SKIPPED
Eventhough i have set all the env variables i am getting these errors dunno what i am missing.
Have listed my environment variable declaration:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_8_HOME="/usr/lib/jvm/java-8-oracle"
JAVA_7_HOME="/usr/lib/jvm/java-7-oracle"
JAVA_6_HOME="/usr/lib/jvm/java-6-oracle"
export CATALINA_HOME="/opt/tomcat9"
M2_HOME=/usr/bin/mvn
export JRE_8_HOME="/usr/lib/jvm/java-8-oracle/jre"
export JRE_7_HOME="/usr/lib/jvm/java-7-oracle/jre"
export JRE_6_HOME="/usr/lib/jvm/java-6-oracle/jre"
PATH="$PATH;$JAVA_8_HOME/bin;$M2_HOME"
Would like to know why we need all jdk 6,7,8 installations either the latest would be suffice.
Please advise
Sattish.

Looks like maven isn't picking up your environment variables.
The reason why we need all the jdks is because we need agent built with JDK 6 to be able to run it on applications built with JDK 6. Java 7+ are required for us to use the enhanced features introduced in the JDK (and to build collector/web).

Hi Hyn,
As we aren't able to download the below listed mariaDB jar required for pinpoint-agent-distribution the build wasn't successful.
[INFO] pinpoint-bootstrap-core-optional .................. SUCCESS [  1.033 s]
[INFO] pinpoint-tools .................................... SUCCESS [  1.406 s]
[INFO] pinpoint-agent-distribution ....................... FAILURE [  01:30 h]
[INFO] pinpoint-collector ................................ SKIPPED
[INFO] pinpoint-profiler-optional-jdk8 ................... SKIPPED
[INFO] pinpoint-web ...................................... SKIPPED
[INFO] pinpoint-hbase-distribution ....................... SKIPPED
[INFO] pinpoint-thirdparty ............................... SKIPPED
http://repo.spring.io/libs-release-remote/ch/vorburger/mariaDB4j/mariaDB4j-db-linux64/10.1.13/mariaDB4j-db-linux64-10.1.13.jar
Build stopped here
[INFO] Building pinpoint-agent-distribution 1.6.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://repo.spring.io/libs-release-remote/ch/vorburger/mariaDB4j/mariaDB4j-db-linux64/10.1.13/mariaDB4j-db-linux64-10.1.13.jar
41/42398 KB
But i could download it manually is their a way i can let the build job that downloaded jar is in the build path
Thanks
Sattish

Hi Team,
We were able to resolve the previous issue by downloading the source and started building it but now it hangs in another package download dunno how we can overcome this. Is this an issue with settings.xml or with the repository. Please review and let us know
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pinpoint-web 1.5.2
[INFO] ------------------------------------------------------------------------
Downloading: http://maven.springframework.org/release/org/springframework/batch/spring-batch-test/2.2.7.RELEASE/spring-batch-test-2.2.7.RELEASE.jar
Downloading: http://repo.spring.io/libs-release-remote/org/springframework/batch/spring-batch-test/2.2.7.RELEASE/spring-batch-test-2.2.7.RELEASE.jar
Downloading: http://jcenter.bintray.com/org/springframework/batch/spring-batch-test/2.2.7.RELEASE/spring-batch-test-2.2.7.RELEASE.jar
14/28 KB
Thanks
Sattish.

@sattishv looks like it. It seems weird that spring-batch-test isn't being downloaded from the spring repository, but instead from bintray.

HI Hyun.
Tested with a different application but still the same issue transactions
arent been traced. It looks like the wrapper app not recognized by pinpoint
agent
Do we have any workaround for it
Thanks
Sattish
On Fri, Sep 16, 2016 at 10:09 PM, HyunGil Jeong<EMAIL_ADDRESS>wrote:

@sattishv https://github.com/sattishv looks like it. It seems weird
that spring-batch-test isn't being downloaded from the spring repository,
but instead from bintray.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/naver/pinpoint/issues/2015#issuecomment-247749587,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHGqmfsi0A0VMFxd00D-wuN6T-FZJKvdks5qq3YTgaJpZM4JtqmD
.

--
with regards,
Sattish
9940080070

@sattishv Not sure of any workaround. Will probably have to test the agent on a wrapper app and see what's going on to come up with a better answer.

Hi HynGil,
Can you please check and let us know . We are blocked by this. As we are
moving towards managing performance through distributed tracing rather than
profiling I have proposed Pinpoint to be a right choice.
We have nearly 5000 instances in both LIVE and QA, so it would be a long
way for me to convince them to deploy Pinpoint, as it involves the correct
configuration as well as a proof to say that Pinpoint collector can scale
better.
We also have few other thoughts on how to make Pinpoint a standard by
bringing few other features to it. To accomplish, first i would need to get
pass through this wrapper issue. IF you are interested i can share my
thoughts and we can sync up in calls if needed.
Thanks
sattish.
On Tue, Sep 20, 2016 at 6:57 PM, HyunGil Jeong<EMAIL_ADDRESS>wrote:

@sattishv https://github.com/sattishv Not sure of any workaround. Will
probably have to test the agent on a wrapper app and see what's going on to
come up with a better answer.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/naver/pinpoint/issues/2015#issuecomment-248489273,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHGqmVsaSVNJ9EFijwMEWkK-Mouknuezks5qsI72gaJpZM4JtqmD
.

--
with regards,
Sattish
9940080070

@sattishv Hi Sattish, finally tested out on an application with Tanuki wrapped.
It seems to be working fine without issues.
I only added the following settings :
wrapper.java.additional.1=-javaagent:$AGENT_PATH\pinpoint-bootstrap-1.6.0-SNAPSHOT.jar
wrapper.java.additional.2=-Dpinpoint.agentId=tanuki-test
wrapper.java.additional.3=-Dpinpoint.applicationName=TanukiTest

Plus the usual to get the app launch such as wrapper.java.mainclass, and wrapper.java.classpath.Ns.
Could you try running it without Tanuki wrapped to see if this really is an issue with the wrapper?

Hi HynGil,
Thanks for trying out your test on Tanuki wrapped app.It looks like you have used pinpoint-bootstrap-1.6.0-SNAPSHOT.jar i was using 1.5.2 is that the difference if so let me try using 1.6.0.
I am not sure how to start my application without tanuki have to check the workaround for it
One more thing do we have detailed documentation on how to enable node.js agent on Pinpoint.Could you please share those.
Thanks
Sattish
Thanks
Sattish.

Hi HynGil,
Could you please direct me to the location where i can download 1.6.0
Thanks
Sattish.

Hi Hyn,
Thanks for trying out your test on Tanuki wrapped app.It looks like you have used pinpoint-bootstrap-1.6.0-SNAPSHOT.jar i was using 1.5.2 is that the difference if so let me try using 1.6.0.
I am not sure how to start my application without tanuki have to check the workaround for it
Meantime can you let me know where i can download pinpoint 1.6.0
Thanks
Sattish

Hi sattishv, sorry for the late reply.
There isn't a separate download link for pinpoint 1.6.0 as it is still a snapshot.
You'll have to clone the repository and build it from source - the details of which is here.
Let me know if there's anything else I can do to help.

@Xylus @sattishv Hello Xylus and sattishv，I have this question too when I use pinpoint 1.6.1 and wrapper my tomcat app with Tanuki. I'm sure it's absolutely ok when I config pinpoint agent parameters in catalina.sh (-javaagent, -Dpinpoint, -Dpinpoint ), but when I change to config them in wrap.conf just like what Xylus said before, there is only a app and jvm information with out any request tracing maps.
I have read the issue #1052 and #2015, but it can not work correctly in my pinpoint 1.6.1. Also, I just download pinpoint 1.6.1 from github release without any compiling. It troubles me for several days, hope   for your responses. Thank you very much.

Hi @yedward
Could you post the agent log so we can have a look at it please?
The log should be under $PINPOINT_AGENT/log directory.

Hello @Xylus , thanks for your help. I shall reproduce my issue in detail. Explain in advance,  I install pinpoint agent、pinpoint web、pinpoint collector and target test tomcat apps in the same Ubuntu 14.04 virtual machine for testing usage.
1. Without using Tanuki wrapper, I config pinpoint parameters in catalina.sh :
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/pinpoint-agent-1.6.1/pinpoint-bootstrap-1.6.1.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=test-tomcat"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=test-tomcat-1"

After ready, restart test-tomcat application and then do some requests manually. For a short while, all is well in pinpoint web.

Attached pinpoint agent log : test-tomcat-1-pinpoint-agent-logs.zip
2. When using Tanuki wrapper, I just follow the official instructions at Method 2 - WrapperStartStopApp Integration (Linux / UNIX). I config the wrapper.conf like these :
wrapper.java.command=/opt/jdk1.8.0_112/bin/java

wrapper.java.additional.1=-javaagent:/opt/pinpoint-agent-1.6.1/pinpoint-bootstrap-1.6.1.jar
wrapper.java.additional.2=-Dpinpoint.applicationName=test-tomcat-wrapper
wrapper.java.additional.3=-Dpinpoint.agentId=test-tomcat-wrapper-1

wrapper.java.additional.4=-Dcatalina.base=/opt/apache-tomcat-8.5.15
wrapper.java.additional.5=-Dcatalina.home=/opt/apache-tomcat-8.5.15/
wrapper.java.additional.6=-Djava.io.tmpdir=/opt/apache-tomcat-8.5.15//temp
wrapper.java.additional.7=-Djdk.tls.ephemeralDHKeySize=2048
wrapper.java.additional.8=-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
#following properties are optional:
wrapper.java.additional.9=-Djava.util.logging.config.file=/opt/apache-tomcat-8.5.15/conf/logging.properties
wrapper.java.additional.10=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

wrapper.java.classpath.1=/opt/apache-tomcat-8.5.15/lib/wrapper.jar
wrapper.java.classpath.2=/opt/apache-tomcat-8.5.15/bin/bootstrap.jar
wrapper.java.classpath.3=/opt/apache-tomcat-8.5.15/bin/tomcat-juli.jar

wrapper.java.library.path.1=/opt/apache-tomcat-8.5.15/lib

wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp

wrapper.app.parameter.1=org.apache.catalina.startup.Bootstrap
wrapper.app.parameter.2=1
wrapper.app.parameter.3=start
wrapper.app.parameter.4=org.apache.catalina.startup.Bootstrap
wrapper.app.parameter.5=TRUE
wrapper.app.parameter.6=1
wrapper.app.parameter.7=stop

After ready, I start the test-tomcat-wrapper app by Tanuki wrapper script. For a short while, I can just see application and VM information, without any request call tracing maps.

Attached pinpoint agent log : test-tomcat-wrapper-1-pinpoint-agent-logs.zip
It's very interesting. Thanks for your help again, Xylus.

Hello @Xylus , is there any misoperation for me ?

Hi @yedward
It looks like the agent is getting attached to the tanuki JVM, and not the Tomcat it launches.
I don't know how Tanuki wrapper launches Tomcat, but you'll need to specify pinpoint vm arguments (-javaagent, -Dpinpoint.agentId, -Dpinpoint.applicationName) to the Tomcat JVM. (perhaps by specifying them as wrapper.app.parameter.N? https://wrapper.tanukisoftware.com/doc/english/prop-app-parameter-n.html)


⚠ AGEG website (redirect) has degraded performance

In 836fbd5, AGEG website (redirect) (https://ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 2149 ms

Resolved: AGEG website (redirect) performance has improved in bf20e63.


Add source classpath as an optional param to load custom sources

To load the source class we currently have (workflow.py)
service_type: ServiceType = get_service_type_from_source_type(
    self.config.source.type
)

source_class = self.get(
    "metadata.ingestion.source.{}.{}.{}Source".format(
        service_type.name.lower(),
        self.typeClassFetch(source_type, True),
        self.typeClassFetch(source_type, False),
    )
)

We should allow users to load any custom class to be used as source. A possibility can be having an optional property on the source configuration classpath, so if classpath is informed, we will just run source_class = self.get(self.config.source.classpath). Otherwise, we run the dynamic loading logic

@nahuelverdugo I'll take care of the backend. Once the PR is up you can work on the ingestion side

closed by https://github.com/open-metadata/OpenMetadata/pull/7419