<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.gmail-m-3411408627808268408msolistparagraph, li.gmail-m-3411408627808268408msolistparagraph, div.gmail-m-3411408627808268408msolistparagraph
        {mso-style-name:gmail-m_-3411408627808268408msolistparagraph;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Travis,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thank you for your ideas.  The tiles themselves existed in Mapcache as white images so Mapcache returned a “valid” image instead of a 404.  I was able to find
 the white tiles by just deleting all the <1K files in the area.  However, if I ever notice the issue again I will definitely consider using the mapcache_seed command line with a shapefile to force the tiles to rebuild...  That would have been quicker than
 searching for small files!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thank You!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Sincerely,<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Mark Volz, GISP</span></b><b><span style="font-family:"Calibri",sans-serif;color:#1F497D"><o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Lyon County GIS Coordinator<o:p></o:p></span></b></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Travis Kirstine <traviskirstine@gmail.com>
<br>
<b>Sent:</b> Wednesday, February 20, 2019 12:45 PM<br>
<b>To:</b> Mark Volz <MarkVolz@co.lyon.mn.us><br>
<b>Cc:</b> mapserver-users@lists.osgeo.org<br>
<b>Subject:</b> Re: [mapserver-users] Mapcache - best way to find broken or white tiles in a service?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:dotted #003333 1.5pt;padding:2.0pt 2.0pt 2.0pt 2.0pt">
<p class="MsoNormal" style="background:pink"><b><span style="font-size:16.0pt;font-family:"Courier New";color:black">SWHHS/LYON/LINCOLN COUNTY SECURITY NOTICE:</span></b>
<o:p></o:p></p>
<div>
<p class="MsoNormal" style="text-indent:12.0pt;background:pink"><b><span style="font-size:10.0pt;font-family:"Arial",sans-serif">This email originated from an external sender. Exercise caution before clicking on any links or attachments and consider whether
 you know the sender. For more information please contact IT support.<o:p></o:p></span></b></p>
</div>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="100%" align="center">
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">You shouldn't have any cached "broken" tiles unless your source WMS is generating the white images (metatiles).  I believe MapCache will generate a 404 and return a empty tile if configured.  This may be the white tiles you are seeing. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">   <!-- errors<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        configure how error will be reported back to a client:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">          - log : no error is reported back, except an http error code.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">          - report : return the error message to the client in textual format<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">          - empty_img : return an empty image to the client. the actual error code is in the X-Mapcache-Error http header<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">          - report_img : return an image with the error text included inside. not implemented yet.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        the default setting is to report the error message back to the user. In production, you might want to set this to "log"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        if you're paranoid, or to "empty_img" if you want to play nice with non-conforming clients.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   --><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   <errors>report</errors><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">It can be very difficult to locate and clean up tiles from a cache, the easiest method and in some cases the fastest is simply to create a new cache and delete the old one.  One alternative is to use the mapcache_seed command line tool
 to either -f force the creation of new tiles or use the -mode delete option to delete the tiles from the cache.  BTW you can use a polygon (shapefile) with mapcache_seed to only update / delete the desired area using the -d flag. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Also if you are using a disk cache you might be using symlinks which will allow mapcache to "reuse" blank tiles.  If this is the case you might need to find / delete the symlinks rather than a "file"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><cache name="disk" type="disk"><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   <!-- base<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        Absolute filesystem path where the tile structure will be stored.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        This directory needs to be readable and writable by the user running<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        Apache.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   --><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   <base>/tmp</base><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   <!-- symlink_blank<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><b>        Enable blank (i.e. uniform color) tile detection. Blank tiles will be</b><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><b>        detected at creation time and linked to a single blank tile on disk</b><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><b>        to preserve disk space.</b><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   --><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   <symlink_blank/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"></cache><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Tue, 19 Feb 2019 at 16:47, Mark Volz <<a href="mailto:MarkVolz@co.lyon.mn.us">MarkVolz@co.lyon.mn.us</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hello,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On my webmap I noticed a few broken (white) tiles in a single area from my mapcache server.  I would like to know the best way to find broken tiles in my mapcache service. 
<o:p></o:p></p>
<p class="gmail-m-3411408627808268408msolistparagraph"><span style="font-family:Symbol">·</span><span style="font-size:7.0pt">        
</span>Initially I was concerned that I would need to the tile number and folder location by using the BBOX, WIDTH, and TILE RESOLUTION from the request.  However, I figured out using the mapcache demo is easier to work with /mapcache/demo/<o:p></o:p></p>
<p class="gmail-m-3411408627808268408msolistparagraph"><span style="font-family:Symbol">·</span><span style="font-size:7.0pt">        
</span>Would it be better just to delete any tile that is 1K or smaller?  These problibly are tiles that are broken, or intended to be blank in the first place. 
<o:p></o:p></p>
<p class="gmail-m-3411408627808268408msolistparagraph"><span style="font-family:Symbol">·</span><span style="font-size:7.0pt">        
</span>What do others do to validate that the mapcache tiles have been built appropriately?<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks!<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#1F497D">Sincerely,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="color:#1F497D">Mark Volz, GISP</span></b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="color:#1F497D">Lyon County GIS Coordinator</span></b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
mapserver-users mailing list<br>
<a href="mailto:mapserver-users@lists.osgeo.org" target="_blank">mapserver-users@lists.osgeo.org</a><br>
<a href="https://linkprotect.cudasvc.com/url?a=https%3a%2f%2flists.osgeo.org%2fmailman%2flistinfo%2fmapserver-users&c=E,1,gveW-RkOo02oWE2k1bz8bdevgeGXtHIFgPVZTknU4BqbCzVvBf8W1tFSE-S6hNpXP8EbrJA9-gliSJgEPjN0pe3kB4lW6judhh1ZLrfi&typo=1" target="_blank">https://lists.osgeo.org/mailman/listinfo/mapserver-users</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>