Gitlab: Git operations are extremely slow on EC2 The 2019 Stack Overflow Developer Survey Results Are InUsing git on amazon ec2Move repo from plain git to GitLab serverWhy are Amazon OpsWorks operations so slow?Can I use gitlab to monitorize existing repos, keeping old bare git urls?How to merge Git and GitLab usersJenkins/GitLab: How to automatically build the latest git tag?Gitlab Runner on AWS becomes really slow after some timeUsing Git submodules in Gitlab CI jobsEC2: Cannot git clone at launchGit clone from Gitlab incredibly slow in Docker container

Inversion Puzzle

Should I write numbers in words or as numerals when there are multiple next to each other?

Spanish for "widget"

Limit the amount of RAM Mathematica may access?

How can I create a character who can assume the widest possible range of creature sizes?

Does duplicating a spell with Wish count as casting that spell?

Is there a name of the flying bionic bird?

How was Skylab's orbit inclination chosen?

What tool would a Roman-age civilization have to grind silver and other metals into dust?

Does it makes sense to buy a new cycle to learn riding?

What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?

Is domain driven design an anti-SQL pattern?

"What time...?" or "At what time...?" - what is more grammatically correct?

How can I fix this gap between bookcases I made?

Does light intensity oscillate really fast since it is a wave?

How are circuits which use complex ICs normally simulated?

Unbreakable Formation vs. Cry of the Carnarium

Is three citations per paragraph excessive for undergraduate research paper?

Falsification in Math vs Science

Landlord wants to switch my lease to a "Land contract" to "get back at the city"

How to make payment on the internet without leaving a money trail?

Are there any other methods to apply to solving simultaneous equations?

What do hard-Brexiteers want with respect to the Irish border?

Why isn't airport relocation done gradually?



Gitlab: Git operations are extremely slow on EC2



The 2019 Stack Overflow Developer Survey Results Are InUsing git on amazon ec2Move repo from plain git to GitLab serverWhy are Amazon OpsWorks operations so slow?Can I use gitlab to monitorize existing repos, keeping old bare git urls?How to merge Git and GitLab usersJenkins/GitLab: How to automatically build the latest git tag?Gitlab Runner on AWS becomes really slow after some timeUsing Git submodules in Gitlab CI jobsEC2: Cannot git clone at launchGit clone from Gitlab incredibly slow in Docker container



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








2















EDIT: It turns out this is a Gitlab problem, however I still do not have a solution.



I have a weird situation going on with two of my AWS EC2 instances. They are exactly the same in terms of OS, region, and instance type (both t3.micro), set up in the same way (however, the first was set up a few months ago).



Both exist in the eu-central-1c availability zone, and both are operating on the same git repository. Both are also up to date (CentOS 7.6.1810).



Older server:



$ time git pull
Already up-to-date.

real 0m0.306s
user 0m0.034s
sys 0m0.016s


Newer server:



$ time git pull
Already up-to-date.

real 2m7.547s
user 0m0.026s
sys 0m0.024s


It also consistently takes about 2m7s.



Also:



Older server:



--2019-04-09 10:52:03-- https://speed.hetzner.de/1GB.bin
Resolving speed.hetzner.de (speed.hetzner.de)... 88.198.248.254, 2a01:4f8:0:59ed::2
Connecting to speed.hetzner.de (speed.hetzner.de)|88.198.248.254|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1048576000 (1000M) [application/octet-stream]
Saving to: ‘1GB.bin’

100%[===============================================================>] 1,048,576,000 121MB/s in 6.5s

2019-04-09 10:52:10 (154 MB/s) - ‘1GB.bin’ saved [1048576000/1048576000]


Newer server:



--2019-04-09 10:54:04-- https://speed.hetzner.de/1GB.bin
Resolving speed.hetzner.de (speed.hetzner.de)... 88.198.248.254, 2a01:4f8:0:59ed::2
Connecting to speed.hetzner.de (speed.hetzner.de)|88.198.248.254|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1048576000 (1000M) [application/octet-stream]
Saving to: ‘1GB.bin’

100%[===============================================================>] 1,048,576,000 130MB/s in 5.9s

2019-04-09 10:54:10 (170 MB/s) - ‘1GB.bin’ saved [1048576000/1048576000]


EDIT: I tried to use a GitHub repository instead of our GitLab, and it turns out it seems to be a GitLab issue. What could possibly be causing GitLab to respond quickly to the older server but not to the other one?



EDIT 2: Attempted to clone over HTTPS. It takes 2 minutes just for it to ask for my username.



Also, verbose output over SSH:



$ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git pull
trace: exec: 'git-pull'
trace: run_command: 'git-pull'
trace: built-in: git 'rev-parse' '--git-dir'
trace: built-in: git 'rev-parse' '--is-bare-repository'
trace: built-in: git 'rev-parse' '--show-toplevel'
trace: built-in: git 'ls-files' '-u'
trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
trace: built-in: git 'config' '--bool' 'branch.#hidden#.rebase'
trace: built-in: git 'config' '--bool' 'pull.rebase'
trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
trace: built-in: git 'fetch' '--update-head-ok'
trace: run_command: 'ssh' '-p' '7777' 'git@#hidden.tld#' 'git-upload-pack '''/#hidden#/#hidden#.git''''









share|improve this question






























    2















    EDIT: It turns out this is a Gitlab problem, however I still do not have a solution.



    I have a weird situation going on with two of my AWS EC2 instances. They are exactly the same in terms of OS, region, and instance type (both t3.micro), set up in the same way (however, the first was set up a few months ago).



    Both exist in the eu-central-1c availability zone, and both are operating on the same git repository. Both are also up to date (CentOS 7.6.1810).



    Older server:



    $ time git pull
    Already up-to-date.

    real 0m0.306s
    user 0m0.034s
    sys 0m0.016s


    Newer server:



    $ time git pull
    Already up-to-date.

    real 2m7.547s
    user 0m0.026s
    sys 0m0.024s


    It also consistently takes about 2m7s.



    Also:



    Older server:



    --2019-04-09 10:52:03-- https://speed.hetzner.de/1GB.bin
    Resolving speed.hetzner.de (speed.hetzner.de)... 88.198.248.254, 2a01:4f8:0:59ed::2
    Connecting to speed.hetzner.de (speed.hetzner.de)|88.198.248.254|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1048576000 (1000M) [application/octet-stream]
    Saving to: ‘1GB.bin’

    100%[===============================================================>] 1,048,576,000 121MB/s in 6.5s

    2019-04-09 10:52:10 (154 MB/s) - ‘1GB.bin’ saved [1048576000/1048576000]


    Newer server:



    --2019-04-09 10:54:04-- https://speed.hetzner.de/1GB.bin
    Resolving speed.hetzner.de (speed.hetzner.de)... 88.198.248.254, 2a01:4f8:0:59ed::2
    Connecting to speed.hetzner.de (speed.hetzner.de)|88.198.248.254|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1048576000 (1000M) [application/octet-stream]
    Saving to: ‘1GB.bin’

    100%[===============================================================>] 1,048,576,000 130MB/s in 5.9s

    2019-04-09 10:54:10 (170 MB/s) - ‘1GB.bin’ saved [1048576000/1048576000]


    EDIT: I tried to use a GitHub repository instead of our GitLab, and it turns out it seems to be a GitLab issue. What could possibly be causing GitLab to respond quickly to the older server but not to the other one?



    EDIT 2: Attempted to clone over HTTPS. It takes 2 minutes just for it to ask for my username.



    Also, verbose output over SSH:



    $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git pull
    trace: exec: 'git-pull'
    trace: run_command: 'git-pull'
    trace: built-in: git 'rev-parse' '--git-dir'
    trace: built-in: git 'rev-parse' '--is-bare-repository'
    trace: built-in: git 'rev-parse' '--show-toplevel'
    trace: built-in: git 'ls-files' '-u'
    trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
    trace: built-in: git 'config' '--bool' 'branch.#hidden#.rebase'
    trace: built-in: git 'config' '--bool' 'pull.rebase'
    trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
    trace: built-in: git 'fetch' '--update-head-ok'
    trace: run_command: 'ssh' '-p' '7777' 'git@#hidden.tld#' 'git-upload-pack '''/#hidden#/#hidden#.git''''









    share|improve this question


























      2












      2








      2








      EDIT: It turns out this is a Gitlab problem, however I still do not have a solution.



      I have a weird situation going on with two of my AWS EC2 instances. They are exactly the same in terms of OS, region, and instance type (both t3.micro), set up in the same way (however, the first was set up a few months ago).



      Both exist in the eu-central-1c availability zone, and both are operating on the same git repository. Both are also up to date (CentOS 7.6.1810).



      Older server:



      $ time git pull
      Already up-to-date.

      real 0m0.306s
      user 0m0.034s
      sys 0m0.016s


      Newer server:



      $ time git pull
      Already up-to-date.

      real 2m7.547s
      user 0m0.026s
      sys 0m0.024s


      It also consistently takes about 2m7s.



      Also:



      Older server:



      --2019-04-09 10:52:03-- https://speed.hetzner.de/1GB.bin
      Resolving speed.hetzner.de (speed.hetzner.de)... 88.198.248.254, 2a01:4f8:0:59ed::2
      Connecting to speed.hetzner.de (speed.hetzner.de)|88.198.248.254|:443... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: 1048576000 (1000M) [application/octet-stream]
      Saving to: ‘1GB.bin’

      100%[===============================================================>] 1,048,576,000 121MB/s in 6.5s

      2019-04-09 10:52:10 (154 MB/s) - ‘1GB.bin’ saved [1048576000/1048576000]


      Newer server:



      --2019-04-09 10:54:04-- https://speed.hetzner.de/1GB.bin
      Resolving speed.hetzner.de (speed.hetzner.de)... 88.198.248.254, 2a01:4f8:0:59ed::2
      Connecting to speed.hetzner.de (speed.hetzner.de)|88.198.248.254|:443... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: 1048576000 (1000M) [application/octet-stream]
      Saving to: ‘1GB.bin’

      100%[===============================================================>] 1,048,576,000 130MB/s in 5.9s

      2019-04-09 10:54:10 (170 MB/s) - ‘1GB.bin’ saved [1048576000/1048576000]


      EDIT: I tried to use a GitHub repository instead of our GitLab, and it turns out it seems to be a GitLab issue. What could possibly be causing GitLab to respond quickly to the older server but not to the other one?



      EDIT 2: Attempted to clone over HTTPS. It takes 2 minutes just for it to ask for my username.



      Also, verbose output over SSH:



      $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git pull
      trace: exec: 'git-pull'
      trace: run_command: 'git-pull'
      trace: built-in: git 'rev-parse' '--git-dir'
      trace: built-in: git 'rev-parse' '--is-bare-repository'
      trace: built-in: git 'rev-parse' '--show-toplevel'
      trace: built-in: git 'ls-files' '-u'
      trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
      trace: built-in: git 'config' '--bool' 'branch.#hidden#.rebase'
      trace: built-in: git 'config' '--bool' 'pull.rebase'
      trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
      trace: built-in: git 'fetch' '--update-head-ok'
      trace: run_command: 'ssh' '-p' '7777' 'git@#hidden.tld#' 'git-upload-pack '''/#hidden#/#hidden#.git''''









      share|improve this question
















      EDIT: It turns out this is a Gitlab problem, however I still do not have a solution.



      I have a weird situation going on with two of my AWS EC2 instances. They are exactly the same in terms of OS, region, and instance type (both t3.micro), set up in the same way (however, the first was set up a few months ago).



      Both exist in the eu-central-1c availability zone, and both are operating on the same git repository. Both are also up to date (CentOS 7.6.1810).



      Older server:



      $ time git pull
      Already up-to-date.

      real 0m0.306s
      user 0m0.034s
      sys 0m0.016s


      Newer server:



      $ time git pull
      Already up-to-date.

      real 2m7.547s
      user 0m0.026s
      sys 0m0.024s


      It also consistently takes about 2m7s.



      Also:



      Older server:



      --2019-04-09 10:52:03-- https://speed.hetzner.de/1GB.bin
      Resolving speed.hetzner.de (speed.hetzner.de)... 88.198.248.254, 2a01:4f8:0:59ed::2
      Connecting to speed.hetzner.de (speed.hetzner.de)|88.198.248.254|:443... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: 1048576000 (1000M) [application/octet-stream]
      Saving to: ‘1GB.bin’

      100%[===============================================================>] 1,048,576,000 121MB/s in 6.5s

      2019-04-09 10:52:10 (154 MB/s) - ‘1GB.bin’ saved [1048576000/1048576000]


      Newer server:



      --2019-04-09 10:54:04-- https://speed.hetzner.de/1GB.bin
      Resolving speed.hetzner.de (speed.hetzner.de)... 88.198.248.254, 2a01:4f8:0:59ed::2
      Connecting to speed.hetzner.de (speed.hetzner.de)|88.198.248.254|:443... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: 1048576000 (1000M) [application/octet-stream]
      Saving to: ‘1GB.bin’

      100%[===============================================================>] 1,048,576,000 130MB/s in 5.9s

      2019-04-09 10:54:10 (170 MB/s) - ‘1GB.bin’ saved [1048576000/1048576000]


      EDIT: I tried to use a GitHub repository instead of our GitLab, and it turns out it seems to be a GitLab issue. What could possibly be causing GitLab to respond quickly to the older server but not to the other one?



      EDIT 2: Attempted to clone over HTTPS. It takes 2 minutes just for it to ask for my username.



      Also, verbose output over SSH:



      $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git pull
      trace: exec: 'git-pull'
      trace: run_command: 'git-pull'
      trace: built-in: git 'rev-parse' '--git-dir'
      trace: built-in: git 'rev-parse' '--is-bare-repository'
      trace: built-in: git 'rev-parse' '--show-toplevel'
      trace: built-in: git 'ls-files' '-u'
      trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
      trace: built-in: git 'config' '--bool' 'branch.#hidden#.rebase'
      trace: built-in: git 'config' '--bool' 'pull.rebase'
      trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
      trace: built-in: git 'fetch' '--update-head-ok'
      trace: run_command: 'ssh' '-p' '7777' 'git@#hidden.tld#' 'git-upload-pack '''/#hidden#/#hidden#.git''''






      amazon-web-services amazon-ec2 git gitlab






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 13 hours ago







      Shreyas

















      asked 13 hours ago









      ShreyasShreyas

      1264




      1264




















          1 Answer
          1






          active

          oldest

          votes


















          1














          Problem found using verbose output.



          The newer server was trying to contact the git endpoint server using IPv6, and waiting for timeout, before falling back to IPv4 (which actually works).



          $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone https://#hidden#/#hidden#/#hidden#.git
          trace: built-in: git 'clone' 'https://#hidden#/#hidden#/#hidden#.git'
          Cloning into '#hidden#'...
          trace: run_command: 'git-remote-https' 'origin' 'https://#hidden#/#hidden#/#hidden#.git'
          * Couldn't find host #hidden# in the .netrc file; using defaults
          * About to connect() to #hidden# port 443 (#0)
          * Trying x:x:x:x:x:x:x:x...
          * Connection timed out
          * Trying x.x.x.x...





          share|improve this answer

























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "2"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f962194%2fgitlab-git-operations-are-extremely-slow-on-ec2%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            Problem found using verbose output.



            The newer server was trying to contact the git endpoint server using IPv6, and waiting for timeout, before falling back to IPv4 (which actually works).



            $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone https://#hidden#/#hidden#/#hidden#.git
            trace: built-in: git 'clone' 'https://#hidden#/#hidden#/#hidden#.git'
            Cloning into '#hidden#'...
            trace: run_command: 'git-remote-https' 'origin' 'https://#hidden#/#hidden#/#hidden#.git'
            * Couldn't find host #hidden# in the .netrc file; using defaults
            * About to connect() to #hidden# port 443 (#0)
            * Trying x:x:x:x:x:x:x:x...
            * Connection timed out
            * Trying x.x.x.x...





            share|improve this answer





























              1














              Problem found using verbose output.



              The newer server was trying to contact the git endpoint server using IPv6, and waiting for timeout, before falling back to IPv4 (which actually works).



              $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone https://#hidden#/#hidden#/#hidden#.git
              trace: built-in: git 'clone' 'https://#hidden#/#hidden#/#hidden#.git'
              Cloning into '#hidden#'...
              trace: run_command: 'git-remote-https' 'origin' 'https://#hidden#/#hidden#/#hidden#.git'
              * Couldn't find host #hidden# in the .netrc file; using defaults
              * About to connect() to #hidden# port 443 (#0)
              * Trying x:x:x:x:x:x:x:x...
              * Connection timed out
              * Trying x.x.x.x...





              share|improve this answer



























                1












                1








                1







                Problem found using verbose output.



                The newer server was trying to contact the git endpoint server using IPv6, and waiting for timeout, before falling back to IPv4 (which actually works).



                $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone https://#hidden#/#hidden#/#hidden#.git
                trace: built-in: git 'clone' 'https://#hidden#/#hidden#/#hidden#.git'
                Cloning into '#hidden#'...
                trace: run_command: 'git-remote-https' 'origin' 'https://#hidden#/#hidden#/#hidden#.git'
                * Couldn't find host #hidden# in the .netrc file; using defaults
                * About to connect() to #hidden# port 443 (#0)
                * Trying x:x:x:x:x:x:x:x...
                * Connection timed out
                * Trying x.x.x.x...





                share|improve this answer















                Problem found using verbose output.



                The newer server was trying to contact the git endpoint server using IPv6, and waiting for timeout, before falling back to IPv4 (which actually works).



                $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone https://#hidden#/#hidden#/#hidden#.git
                trace: built-in: git 'clone' 'https://#hidden#/#hidden#/#hidden#.git'
                Cloning into '#hidden#'...
                trace: run_command: 'git-remote-https' 'origin' 'https://#hidden#/#hidden#/#hidden#.git'
                * Couldn't find host #hidden# in the .netrc file; using defaults
                * About to connect() to #hidden# port 443 (#0)
                * Trying x:x:x:x:x:x:x:x...
                * Connection timed out
                * Trying x.x.x.x...






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 13 hours ago

























                answered 13 hours ago









                ShreyasShreyas

                1264




                1264



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Server Fault!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f962194%2fgitlab-git-operations-are-extremely-slow-on-ec2%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to make RAID controller rescan devices The 2019 Stack Overflow Developer Survey Results Are InLSI MegaRAID SAS 9261-8i: Disk isn't recognized after replacementHow to monitor the hard disk status behind Dell PERC H710 Raid Controller with CentOS 6?LSI MegaRAID - Recreate missing RAID 1 arrayext. 2-bay USB-Drive with RAID: btrfs RAID vs built-in RAIDInvalid SAS topologyDoes enabling JBOD mode on LSI based controllers affect existing logical disks/arrays?Why is there a shift between the WWN reported from the controller and the Linux system?Optimal RAID 6+0 Setup for 40+ 4TB DisksAccidental SAS cable removal

                    How can I have a shield and a way of attacking at distance at the same time? The 2019 Stack Overflow Developer Survey Results Are InDoes the Thrown property mean I can attack with my DEX?Is it possible to build a custom weapon, and if so, how will my character be able to use it?Can the Ghost Touch weapon property allow an attacker to perform incorporeal touch attacks?The DM allowed me to wield two shields, how can I get the most AC and HP, as a Bear Barbarian?Are there ways other than Kensei Weapons or Hex Warrior to use an ability other than STR for non-finesse melee weapons?Cheapest way to cast spells with sword and (heavy) shield?Is this homebrew “Throwing Weapons Master” feat balanced?Can Hexblade warlocks use a staff and shield?Are there any balance issues with allowing thrown Javelins to be drawn for free like ammunition weapons?Does an unattuned Frost Brand weapon still glow in freezing temperatures?Does a druid starting with a bow start with no arrows?Is it possible to build a custom weapon, and if so, how will my character be able to use it?

                    Unbreakable Formation vs. Cry of the Carnarium The 2019 Stack Overflow Developer Survey Results Are InCan an indestructible creature die by a combination of damage and -X/-X effects?Can a non-instant or sorcery ever have flashback?do creatures created after a “all creatures get -1/-1 until end of turn” instant get -1/-1 as well?What happens when I target an indestructible card with an “if that would die this turn, exile it instead” effect?Exalted trigger timingWhat happens when a non-token creature loses all abilities, is exiled, then returns?Does the spell cast with Yahenni's Expertise resolve before state-based effects are checked?What happens if Always Watching is destroyed mid-combat?MTG: Abilities lost when exiled?Under which controller does a stolen permanent come into play after being exiled?