I'm not sure what's going on here:
On the left you have mapnik-2.0.x, on the right you have mapnik-2.1.x
Uncommenting the marker-clip:false line in CartoCSS turns the rendering on the right completely blank. The input is a regular hexagonal grid.
Two things are happening here:
Clipping is causing the convergence issue. I'm not sure why (this deserves a separate bug report). This can be worked around by turning it off + clipping should be default off when we move on #1569.
The reason you get nothing rendered when clipping is off is that the marker size does not fit within the length of the line it is being placed upon. This may seem like a regression but it is actually an intentional bugfix and landed in 5bc9f73#include/mapnik/markers_placement.hpp. Now that marker size can be manipulated on the fly, you can use that functionality to test that it is the size preventing rendering. Try setting transform="scale(.5,.5)" (or in css: marker-transform:scale(.5,.5)).
So, for complete backwards compatibility an option would need to be added to ask for rendering of markers even when they do not fit within a given line segment. I'm not sure that is worth it.
#1553 may have a role here too ?
@springmeyer I confirm that scaling the symbol by 50% gets the arrows back, I'm happy with only #1553 being acted upon (if possible).