Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Long sessions playback is sometimes interrupted #1774

Closed
klizhentas opened this issue Mar 14, 2018 · 5 comments
Closed

Long sessions playback is sometimes interrupted #1774

klizhentas opened this issue Mar 14, 2018 · 5 comments
Assignees
Labels

Comments

@klizhentas
Copy link
Contributor

What happened:

Playback of the long sessions is sometimes incomplete.

What you expected to happen:

Playback recorded session to the end

How to reproduce it (as minimally and precisely as possible):

This issue is for teleport 2.6.0-alpha.0

Setup the teleport with dynamodb backend and s3 upload:

# Single-node Teleport cluster called "one" (runs all 3 roles: proxy, auth and node)
teleport:
  nodename: one
  advertise_ip: 172.10.1.1
  log:
    output: /var/lib/teleport/teleport.log
    severity: INFO

  data_dir: /var/lib/teleport
  storage:
      type: dynamodb
      table_name: test_grv8
      region: us-west-1
      audit_table_name: test_grv8_events
      audit_sessions_uri: s3://testgrv8records

Open the terminal session in the UI.

# run top for a few seconds
top
# produce significant output
ls -lR /
# print something and exit
echo howdy
exit

Then try to playback the session. For the first playback the session will be played back to about 70%
and stop. Second playback will work.

I've checked on backend and it's the same set of files, there is no eventual consistency as in 2.6.0 the session is fully downloaded on replay and is played from the same tarball.

That's why I'm assuming there is UI somehow involved.

Environment:

  • Teleport version (use teleport version):

2.6.0-alpha.0

  • Tsh version (use tsh version):
  • OS (e.g. from /etc/os-release):

Browser environment

  • Browser Version (for UI-related issues):
  • Install tools:
  • Others:

Relevant Debug Logs If Applicable

  • tsh --debug
  • teleport --debug
@kontsevoy
Copy link
Contributor

@klizhentas how does tsh play behave?

@alex-kovoy
Copy link
Contributor

alex-kovoy commented Mar 15, 2018

I looked at the chunks and noticed that the 2nd chunk is empty on the first attempt.

image

When the player fetches the same chunk on consequent attempt, then it has data in it. It confirms that this is not the issue with the UI/JS. We need to look at the web handlers or further up.

5242880 is the maximum allowed chunk size.

[UPDATE]: note that we query for all chunks at the same time.

@klizhentas
Copy link
Contributor Author

cool, thanks for your research, this gives me something to work on

klizhentas added a commit that referenced this issue May 2, 2018
In case if multiple requests to get session
event data were issued to the auth server
at the same time, multiple download requests
were originated, and sometimes partial data
was returned.

This commit serializes downloads of the session
in the context of the same auth server.
klizhentas added a commit that referenced this issue May 2, 2018
Serialize parallel downloads, fixes #1774
@alex-kovoy
Copy link
Contributor

The issue is back. It can repro it in the current master 3.0.0-alpha.3

@russjones
Copy link
Contributor

Let's double check to see if this is still occurring after we've merged in #3549.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants