Laser shining through two holes in distant rotating discs I've found the following paradox, and I wonder how to resolve it.
Two discs are floating in space, call them A and B. They are at a fixed distance D, coaxial, and rotate at the same speed. Each of them has a hole near the border.
The position of the hole in disc B lags behind the position of the hole in disc A, by a small amount of time. This time is exactly equal to the time it takes light to traverse D.
This means that a laser pulse that gets through hole A is going to get through hole B, and hit a detector on the other side, but the size of the holes is such that there is very little margin for error.
Now: an observer passes along this contraption, moving in the axial direction at a sizeable fraction of the speed of light.
Due to Lorentz contraction, the distance between A and B is going to be smaller in the observer's frame of reference. Plus, the rotation of the discs is going to be slower, due to time dilation.
Either of these effects would be enough to prevent the laser pulse from passing through hole B: it's still traveling at the same speed in the observer's frame of reference, but it has less ground to cover, and on top of that the other disc won't have rotated enough to put the hole in its path. So the detector doesn't get hit!
It's illogical for the detector to be hit or not hit depending on the observer. What am I missing? How to resolve this?
 A: Expanding on Dale's answer, by shifting your frame of reference, the relative alignment of the two disks changes, since what is "simultaneous" changes!
If we take disk A as the origin, then the relative-simultaneous (undilated) time of disk B shifts under a frame-velocity shift of $v$ by $\beta \frac{x}{c}$, where $x$ is the (non-contracted) displacement to disk B and the usual Lorentz-transformation definitions of $\beta = v/c, \gamma=1/\sqrt{1-\beta^2}$. Disk B therefore is "now rotated ahead" of what it was before the coordinate transformation by the amount it rotated in a time of $ \beta \frac{x}{c}$.
The time it takes for the beam to traverse from A to B is now reduced by the spatial dilation (by a factor of $1/\gamma$) and by the movement of disk B during the travel time (by a factor of $1/(1+\beta)$); the rotation of Disk B is also slowed by time dilation (by a factor of $1/\gamma$). The pre-transformation rotation time of Disk B when the beam was traversing the distance was $\frac{x}{c}$, while the new time is $\frac{1}{\gamma^2}\frac{1}{1+\beta}\frac{x}{c}=\frac{1-\beta^2}{1+\beta}\frac{x}{c}=(1-\beta)\frac{x}{c}$, which is a reduction of $\beta \frac{x}{c}$ - this exactly cancels out the Relativity of simultaneity shift above!
This cancellation is guaranteed by the conservation under any Lorentz transformations of the spacetime interval between the beam passing through the hole in disk A and the hole in disk B - that is, the beam passing through hole A then hole B always aligns with what happens during the traversal from hole A to hole B, no matter what your inertial frame of reference is.
A: 
It's illogical for the detector to be hit or not hit depending on the observer. What am I missing? How to resolve this?

The key to resolving almost all relativity “paradoxes” is the relativity of simultaneity. Conceptually it is the most difficult part of special relativity and so it is the part that gets neglected most often. That is the case here. You accounted for time dilation and length contraction, but forgot to account for relativity of simultaneity.
One other thing is that in any frame where the disks are moving the distance that the light travels is different from the distance between the disks. By the time the light moves the distance D’ the far disk has moved. Nevertheless, the key issue is the relativity of simultaneity
A: I'm self-answering because the "click" moment for me was when, after reading all other answers, I realized that this scenario is actually a cunningly-disguised variant of the well-known one where two lightning bolts simultaneously strike the opposite ends of a train.
