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

Deadline extensions interfere with API submissions to unrelated modules #1282

Open
jsorva opened this issue Oct 9, 2023 · 6 comments
Open
Labels
area: API Issues that affect the API area: exercises Related to exercises. Use other labels to focus issue to UI/backend effort: days Estimated to take less than one week, from the creation of a new branch to the merging experience: moderate required knowledge estimate O1 needs Requested in the Programming 1 course requester: CS The issue is raised internally by a CS teacher type: bug This is a bug

Comments

@jsorva
Copy link

jsorva commented Oct 9, 2023

We have (at least) two documented cases where a student has been given a personal deadline extension to a module, but the student has then been unable to submit assignments to a subsequent module. By “documented”, I mean that the students have complained very similarly about the symptoms; we haven’t been able to replicate the issue artificially.

Specifics:

Now, I’m not certain if this is an A+ bug or if it could have something to do with the IntelliJ plugin that our students use to submit via the API. But the symptoms somewhat suggest an A+ issue... and here’s another interesting detail:

Both of those students’ Points pages (linked above) feature the display bug documented here: #1276. So, those pages don’t actually show that the students have extensions. (They do have extensions, though, as you can verify here, if you’re lucky enough to get this page to load: https://plus.cs.aalto.fi/o1/2023/teachers/deadline-deviations/ )
This seems potentially relevant, but I’m not sure what the connection is, if there is one.

@markkuriekkinen
Copy link
Contributor

One thing to check is the cache and outdated/stale cached data just like in #1276.

@markkuriekkinen markkuriekkinen added type: bug This is a bug O1 needs Requested in the Programming 1 course area: API Issues that affect the API area: exercises Related to exercises. Use other labels to focus issue to UI/backend effort: days Estimated to take less than one week, from the creation of a new branch to the merging experience: moderate required knowledge estimate requester: CS The issue is raised internally by a CS teacher labels Oct 10, 2023
@ihalaij1 ihalaij1 self-assigned this Oct 17, 2023
@oseppala
Copy link
Contributor

oseppala commented Oct 28, 2023

I encountered this bug yesterday with a student. The student was registered on the course and had a correct token. Other students were able to submit normally. the student also was able to submit exercises through the web interface. This student had an active deadline extension for chapter N and was unable to retrieve the list of submittable exercises for chapter N+1 using the IntelliJ plugin.

Judging by the IJ plugin logs the plugin received a non-success status code from A-plus when requesting a list of submittable exercises through the API. I requested the student to check the situation after the deadline deviation passed (which was 1.5 hours from when I was shown the problem) . The student reported that everything worked correctly after the deviation passed.

@jsorva
Copy link
Author

jsorva commented Oct 30, 2023

@Mankro @oseppala We have had a few more cases of this bug happening in the last few days. It’s very confusing for students.

Today, Otto and I checked the case that Otto mentioned above, and that student also had the #1276 symptom: no mention of the extensions on their Points page even though the extensions were in place.

Another student that I just chatted with has the same problem — API submissions not working for the current module. However, for this student, #1276 does not apply: their extension to the previous module is visible on their Points page, but they are (according to their report, which I have no reason to doubt) unable to submit via the API.

@ihalaij1
Copy link
Contributor

ihalaij1 commented Nov 9, 2023

I looked into this, but was unable to reproduce the problem in my local development environment. I also looked at the cache code, but couldn't spot any obvious issues there.

We have some large cache changes still pending, so if the problem is indeed related to the cache, it might get "accidentally" fixed in the near future, when those changes go live.

@jsorva
Copy link
Author

jsorva commented Nov 9, 2023

We have some large cache changes still pending, so if the problem is indeed related to the cache, it might get "accidentally" fixed in the near future, when those changes go live.

OK, I hope so! This is continuing to affect some students.

@ihalaij1
Copy link
Contributor

Perhaps related, the unit tests in master branch just failed due to:

FAIL [0.003s]: test_nested_transaction (lib.cache.tests.TransactionTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.8/unittest/mock.py", line 1325, in patched
    return func(*newargs, **newkeywargs)
  File "/home/runner/work/a-plus/a-plus/lib/cache/tests.py", line 130, in test_nested_transaction
    self.assertEqual(newer._generated_on, newer4._generated_on)
AssertionError: 1700139474.686161 != 1700139474.556264

The latest changes do not contain any changes that should cause this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: API Issues that affect the API area: exercises Related to exercises. Use other labels to focus issue to UI/backend effort: days Estimated to take less than one week, from the creation of a new branch to the merging experience: moderate required knowledge estimate O1 needs Requested in the Programming 1 course requester: CS The issue is raised internally by a CS teacher type: bug This is a bug
Projects
Status: Todo
Development

No branches or pull requests

4 participants