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

Rework kernel and session architecture #7252

Merged
merged 100 commits into from Dec 20, 2019

Commits on Dec 14, 2019

  1. Copy the full SHA
    374ecb1 View commit details
    Browse the repository at this point in the history
  2. wip

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    a894cb1 View commit details
    Browse the repository at this point in the history
  3. Update kernel status to have a connection status and a kernel status.

    This simplified logic quite a bit.
    
    Most of these ideas came from previous work in jupyterlab#4724
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    1faae20 View commit details
    Browse the repository at this point in the history
  4. Fix many test failures.

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    94ad719 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    597f973 View commit details
    Browse the repository at this point in the history
  6. Delete unnecessary awaits for kernel info replies.

    This also (finally!) resolves the testing issues with kernel info messages being outstanding when the kernel is disposed.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    974ef17 View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    924f4fe View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    4d9d022 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    74071d0 View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    72ea9e9 View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    9efd678 View commit details
    Browse the repository at this point in the history
  12. Copy the full SHA
    a287b4f View commit details
    Browse the repository at this point in the history
  13. Copy the full SHA
    8c1b436 View commit details
    Browse the repository at this point in the history
  14. Move kernel rest api communication to new restapi module and caching …

    …to the kernel manager.
    
    This simplifies the responsibilities of each module.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    9746a65 View commit details
    Browse the repository at this point in the history
  15. Copy the full SHA
    cd5d04a View commit details
    Browse the repository at this point in the history
  16. Copy the full SHA
    ae82116 View commit details
    Browse the repository at this point in the history
  17. Copy the full SHA
    1b3a37b View commit details
    Browse the repository at this point in the history
  18. WIP

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    8cc4100 View commit details
    Browse the repository at this point in the history
  19. Copy the full SHA
    03572e3 View commit details
    Browse the repository at this point in the history
  20. Copy the full SHA
    7482b34 View commit details
    Browse the repository at this point in the history
  21. Copy the full SHA
    a3bae85 View commit details
    Browse the repository at this point in the history
  22. Copy the full SHA
    3a5ae0b View commit details
    Browse the repository at this point in the history
  23. Copy the full SHA
    96f89b2 View commit details
    Browse the repository at this point in the history
  24. Copy the full SHA
    483c056 View commit details
    Browse the repository at this point in the history
  25. WIP clean up tests and kernel starting signatures

    Lots of things in the tests still are wrong, but this is a snapshot of the current work.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    7410373 View commit details
    Browse the repository at this point in the history
  26. Reorganize kernelspec and kernel modules to use modules instead of na…

    …mespaces.
    
    Also break out the kernelspec tests from the kernel tests.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    1c04505 View commit details
    Browse the repository at this point in the history
  27. Update services tests and fix relevant bugs.

    Tests pass except for a small number of failures that still need investigating.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    79c84cb View commit details
    Browse the repository at this point in the history
  28. Copy the full SHA
    0e435b2 View commit details
    Browse the repository at this point in the history
  29. wip

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    b447b80 View commit details
    Browse the repository at this point in the history
  30. wip

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    5293cd3 View commit details
    Browse the repository at this point in the history
  31. Copy the full SHA
    50701f7 View commit details
    Browse the repository at this point in the history
  32. Copy the full SHA
    cc192f0 View commit details
    Browse the repository at this point in the history
  33. Clean up kernel api

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    6d7e69c View commit details
    Browse the repository at this point in the history
  34. Change status bar code to indicate kernel sessions, not just kernels

    I left the term "Kernels" in the ux tooltip since users probably are familiar with that term more than "sessions"
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    d8724f5 View commit details
    Browse the repository at this point in the history
  35. Update completers to handle session changes

    There is still more to do in the completers to handle when there is no session, but this is a start, and the TODO is noted in the code.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    21e1b88 View commit details
    Browse the repository at this point in the history
  36. More API and docs cleanup.

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    77b0890 View commit details
    Browse the repository at this point in the history
  37. Fix lots of tests

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    fae3c37 View commit details
    Browse the repository at this point in the history
  38. Trigger ‘restarting’ status ourselves when we initiate the kernel res…

    …tart.
    
    This won’t handle the restarting logic for other kernel connections to this same kernel. We should figure out what other kernel connections will do. Perhaps the kernel manager should broadcast the restarting across all kernel connections it knows about.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    c5dcf16 View commit details
    Browse the repository at this point in the history
  39. Fix more tests

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    f071fc3 View commit details
    Browse the repository at this point in the history
  40. Copy the full SHA
    deed221 View commit details
    Browse the repository at this point in the history
  41. Work through tricky logic around disposing dead kernel connections.

    All services/kernel tests are passing!
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    43718a3 View commit details
    Browse the repository at this point in the history
  42. Copy the full SHA
    da2fcb0 View commit details
    Browse the repository at this point in the history
  43. Fix session context tests

    This documents the change in behavior that a session context is not tied to the session lifecycle.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    be9ea01 View commit details
    Browse the repository at this point in the history
  44. Copy the full SHA
    b9e7aff View commit details
    Browse the repository at this point in the history
  45. Fix rendermime tests

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    5075531 View commit details
    Browse the repository at this point in the history
  46. Copy the full SHA
    39b4471 View commit details
    Browse the repository at this point in the history
  47. Add initialize and ready/isReady methods to session context.

    We need these to know when/if the initial kernel has been started.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    00d756a View commit details
    Browse the repository at this point in the history
  48. Copy the full SHA
    516f741 View commit details
    Browse the repository at this point in the history
  49. Fix more tests.

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    3ad329e View commit details
    Browse the repository at this point in the history
  50. Copy the full SHA
    f93c404 View commit details
    Browse the repository at this point in the history
  51. Merge branch 'master' into sessionpersistence

    In addition to resolving merge conflicts, we changed to lumino in files without merge conflicts.
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    b8de3a6 View commit details
    Browse the repository at this point in the history
  52. Fix compile errors

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    55138af View commit details
    Browse the repository at this point in the history
  53. Remove the sessionContext.kernel convenient shortcut.

    I think it’s better to be explicit and have only one place to access it: sessionContext.session?.kernel
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    338317f View commit details
    Browse the repository at this point in the history
  54. Copy the full SHA
    55317db View commit details
    Browse the repository at this point in the history
  55. Make status bar explicitly and accurately have a tooltop of “kernel s…

    …essions” rather than just “kernels”
    jasongrout committed Dec 14, 2019
    Copy the full SHA
    19c44df View commit details
    Browse the repository at this point in the history
  56. Fix linting errors

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    8722b89 View commit details
    Browse the repository at this point in the history
  57. Fix tests

    jasongrout committed Dec 14, 2019
    Copy the full SHA
    6de2dfc View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2019

  1. Fix tests

    jasongrout committed Dec 15, 2019
    Copy the full SHA
    985dcf6 View commit details
    Browse the repository at this point in the history
  2. Fix building examples

    jasongrout committed Dec 15, 2019
    Copy the full SHA
    624d49b View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    1943ff5 View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2019

  1. Clean up some old TODOs

    jasongrout committed Dec 16, 2019
    Copy the full SHA
    3be3916 View commit details
    Browse the repository at this point in the history
  2. Change kernel.connectComm to kernel.createComm and add a new hasComm …

    …method.
    
    Previously, if you tried to create a comm that already existed, you could get the comm someone else had created, which means you would overwrite their message handlers, etc. This was a bad design decision.
    
    This changes the API so that you can only create comms with ids that do not exist. You can also query to see if a given id is used.
    
    See jupyterlab#7284 for more discussion.
    jasongrout committed Dec 16, 2019
    Copy the full SHA
    9e044b3 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2019

  1. Allow reconnections for disconnected kernels

    This means that ‘disconnected’ is no longer a terminal state, and can be recovered from with an explicit call to reconnect()
    
    We also change the reconnect timeouts so that the first reconnection happens immediately, and subsequent ones happen at random times in growing intervals.
    jasongrout committed Dec 17, 2019
    Copy the full SHA
    b97ec47 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    1a2dde3 View commit details
    Browse the repository at this point in the history
  3. Delete old test comment

    jasongrout committed Dec 17, 2019
    Copy the full SHA
    5250848 View commit details
    Browse the repository at this point in the history
  4. Update testEmission to use optional chaining and null coalescing.

    Also make second parameter optional, since each property was already optional.
    jasongrout committed Dec 17, 2019
    Copy the full SHA
    b8f2a21 View commit details
    Browse the repository at this point in the history
  5. Fix skipped test

    jasongrout committed Dec 17, 2019
    Copy the full SHA
    1147fb4 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    2ff170e View commit details
    Browse the repository at this point in the history
  7. Fix comm test

    jasongrout committed Dec 17, 2019
    Copy the full SHA
    b12665f View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    a3ee507 View commit details
    Browse the repository at this point in the history
  9. Clean out more TODO notes.

    jasongrout committed Dec 17, 2019
    Copy the full SHA
    a0930fd View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    8a5712d View commit details
    Browse the repository at this point in the history
  11. Resolve another TODO item by deciding against it.

    We don’t want to accept a Partial<Session.IModel> since what we are really doing is setting the values of the top-level .path/.type/.name attributes.
    jasongrout committed Dec 17, 2019
    Copy the full SHA
    06c4251 View commit details
    Browse the repository at this point in the history
  12. Make the session and kernel interfaces more consistent

    Namespace the ISessionConnection interfaces. Make the connectTo and various function signatures more uniform.
    jasongrout committed Dec 17, 2019
    Copy the full SHA
    49b96ae View commit details
    Browse the repository at this point in the history
  13. Copy the full SHA
    947a00c View commit details
    Browse the repository at this point in the history
  14. Copy the full SHA
    3334567 View commit details
    Browse the repository at this point in the history
  15. Copy the full SHA
    897635c View commit details
    Browse the repository at this point in the history
  16. Separate out the kernel and session creation vs connection options in…

    … the manager startNew methods.
    
    This also more generically supports any extra kernel startup options used by servers other than the notebook server, which encompasses the changes in jupyterlab#7499.
    
    Fixes jupyterlab#7640
    jasongrout committed Dec 17, 2019
    Copy the full SHA
    bebcf00 View commit details
    Browse the repository at this point in the history
  17. Make slots class methods since we are now passing in the this conte…

    …xt in the signal connection.
    jasongrout committed Dec 17, 2019
    Copy the full SHA
    e751b95 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2019

  1. Copy the full SHA
    76a15dc View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    e2ea578 View commit details
    Browse the repository at this point in the history
  3. Remove debug logging.

    jasongrout committed Dec 18, 2019
    Copy the full SHA
    e999cf1 View commit details
    Browse the repository at this point in the history
  4. Add a convenience session context .kernelDisplayStatus

    This gives a sensible status to show a user (i.e., if connected, the kernel status, if not, then the connection status). Also heuristically create a “initializing” status for an initially starting kernel.
    jasongrout committed Dec 18, 2019
    Copy the full SHA
    f4ff2af View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    8d8b069 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    11b86ee View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    9202a78 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2019

  1. Copy the full SHA
    e6f0a24 View commit details
    Browse the repository at this point in the history
  2. Remove obsolete test

    jasongrout committed Dec 19, 2019
    Copy the full SHA
    1fa189e View commit details
    Browse the repository at this point in the history
  3. Linting fixes

    jasongrout committed Dec 19, 2019
    Copy the full SHA
    8635f64 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    0ad63f3 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    7a8e4bb View commit details
    Browse the repository at this point in the history
  6. Fix usage examples.

    jasongrout committed Dec 19, 2019
    Copy the full SHA
    dd5310e View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    bb0bd2c View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2019

  1. Copy the full SHA
    7bbc7e8 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    634f440 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    446f056 View commit details
    Browse the repository at this point in the history
  4. [skip ci] spelling

    Steven Silvester committed Dec 20, 2019
    Copy the full SHA
    ab45e19 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    d2cee9c View commit details
    Browse the repository at this point in the history
  6. Merge branch 'sessionpersistence' of github.com:jasongrout/jupyterlab…

    … into sessionpersistence
    jasongrout committed Dec 20, 2019
    Copy the full SHA
    967180f View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    f18e0fd View commit details
    Browse the repository at this point in the history